text:
These instructions require you to know the year when your camera model was first released. You can find that information through this link :Camera Platform ID Table
CHDK loads from a camera's SD card into the camera's RAM memory. It extends the functionality of the camera without changing (flashing) the camera's firmware. There are two methods available to load CHDK into camera memory : the "Firmware Update Method" and the "Bootable SD Card Method". Read the descriptions below to understand the strengths and weaknesses of each method and the step required to configure your SD card for each method.
Prior to starting the preparation of your card, you need to determine the firmware version of your camera and download the correct release of CHDK. Information on determining your firmware version is available here and you can learn how to download CHDK here.
Firmware Update Method*
The "firmware_update_method" allows you to load CHDK from any SD card formatted to work in your camera. It uses the camera's built-in "Firmware Update..." menu item to load CHDK from a file called either "PS.FIR" or "PS.FI2" (depending on your camera model). It is the easiest way to load CHDK but must be done each time the camera is powered on (as CHDK makes no permanent changes to the camera when it runs).
- note that this method does not actually update the camera's firmware. It tricks the camera into thinking it is doing a firmware update but actually causes CHDK to be loaded into RAM. No firmware "flashing" happens.
Firmware Update Method Card Preparation
Steps to use the firmware update method are :
- Start with an SD card formatted by your camera. This should happen automatically when you put a new card in the camera. If the camera does not want to format your card, it is probably already formatted.
- Remove the card from your camera. Use your PC and SD card reader to unzip the appropriate CHDK distribution file for your camera model and firmware version into the main root directory of your SD card. Make sure that the CHDK folders are also copied to the SD card. Note that for this method to work, there must now be a file called either ps.fi2 or ps.fir in the root directory of the card. Beta release versions of CHDK downloaded from the CHDK forum might not contain this file. If so, then you cannot use the firmware update method for those cameras until the software is released in the CHDK Autobuild Server Also, Mac users should read the hints in FAQ Mac as as you may have issues with permissions when using Apple Archive utiliy.
- Put the SD card back into in your camera.
- Start your camera directly into Play Mode by pressing the Play button or Play switch. Do not start the camera with the On/Off button - the firmware update method will not work if you do.
- Press the Canon Menu key and scroll around until you find a menu item that says "Firm Update...". There are usually three or four tabs in the Menu (varies by camera). You can probably stay on the first tab (typically Playback Settings) but some experimentation might be necessary.
- Select "Firm Update..." and press FUNC.SET button.
- It should say "Update firmware version?" Press OK. If everything went correctly, the CHDK splash screen will appear briefly on the Camera's screen.
- Go back to the camera mode and you should see some new OSD (on screen display) elements.
- Activate the CHDK menus with the <ALT> key or key sequence defined for your camera.
Bootable SD Card Method
CHDK can be configured so that it automatically loads each time your camera starts. This is done via the "Bootable SD Card" method of loading and requires that the SD card be setup specially for this purpose. To use this method, format and load the card using the instructions below, and then set the card's lock switch (the little slider mechanism on the side of the SD card) to the "LOCK" position. Insert the card into your camera and turn it on normally - you should briefly see the CHDK logo, indicating that CHDK has successfully loaded.
Note that your SD card needs to be "bootable" to use the SD Card Lock method. This means that for cameras released prior to January 2011 there needs to be a FAT16 partition with a slightly modified boot block. Cameras released after January 2011 can boot from either a FAT16 or a FAT32 partition, although each format requires a different modifications to the boot block.
Setup of the SD card is somewhat complicated as different cameras have different requirements and limitations. Listed below are various methods of configuring and SD card for the "SD Card Lock" method.
Note : setting up an SD card to be bootable is not the same thing as setting the "boot" flag in the card's MBR. That flag is ignored by Canon cameras.
Bootable SD Card Method Preparation
Some recent cameras format SD cards as exFAT. This format cannot be used for autobooting. You must reformat these cards as FAT32 on your PC.
If you are using an Apple MAC, there is a tool that will automate all of the steps listed below. You probably still need to read and understand the steps and the reasons for them but the SDMInst app as described in FAQ/Mac should then be able to do all the work for you.
For cameras released after 2010 :
With recent cameras a single FAT32 partition configured to be bootable is the preferred SD card configuration for automatically loading CHDK.
You can also use a single FAT16 partition if your card is 4G or smaller (or if you are willing to just use 4G of a larger card). You might choose to use a FAT16 partition because you wish to use one of the automated configuration tool (see below) and that tool does not support FAT32 booting. Note also that these newer cameras do not support dual partition CHDK booting.
There are quite a few method of setting up an SD Card for cameras released after 2010. Listed below are two easy ones - alternative methods can be found at the bottom of this wiki page. Note : use the second method if you are using a CHDK version that has no ps.fi2 file available in the distribution zup file ( eg : a camera still under development or a camera like the S100 where its just not available).
Method 1 - Using a CHDK itself to make the SD card bootable.
- Start out with the SD Card Lock switch in the unlocked position (there will be a small slide switch on the side of the card - see picture above - make sure it is in the unlocked position to start this process.)
- Low level format the card in camera. The card will now contain a single FAT32 partition. (Warning : any images on the card will be erased at this point. Also, make sure your camera did not format the card as exFAT - see warning note at start of this section - you may need to use something like FAT32 Format to format the card in your PC is so. ).
- Remove the card from your camera and put it into the SD card reader of your PC. Unpack the appropriate build of CHDK for your camera and firmware version directly to the card (including all subdirectories).
- With the Card Lock switch still in the unlocked position put the card back into your camera.
- Turn on your camera by pressing the Play button (or using the Play switch on some cameras). Do not start the camera with the On/Off switch or this process will not work.
- Start CHDK manually by selecting the Firmware Update option in the Canon menus.
- After the CHDK logo briefly displays, start CHDK by using the <ALT> key sequence for your camera.
- Enter the CHDK menu, and select Miscellaneous stuff -> Make Card Bootable
- Turn your camera off, write protect the SD card by moving the little switch on the side of the card to the locked position, insert the card back into your camera
Method 2 - Using EOSCard to make the SD card bootable.
- Start out with the SD Card Lock switch in the unlocked position (there will be a small slide switch on the side of the card - see picture above - make sure it is in the unlocked position to start this process.)
- Low level format the card in camera. The card will now contain a single FAT32 partition. (Warning : any images on the card will be erased at this point. Also, make sure your camera did not format the card as exFAT - see warning note at start of this section - you may need to use something like FAT32 Format to format the card in your PC is so. ).
- Remove the card from your camera and put it into the SD card reader of your PC. Unpack the appropriate build of CHDK for your camera and firmware version directly to the card (including all subdirectories).
- Use EOScard to configure your SD card to be bootable in the camera. Read the instructions on this wiki page EOScard1.2 and download the software from there.
- Write protect your SD card by moving the little switch on the side of the card to the locked position, insert the card back into your camera.
Now each time that you turn your camera on, the CHDK logo should briefly display automatically, indicating that CHDK has successfully loaded.
New : Utilities for cameras released after 2010 :
- EOScard1.2 utility will write a boot string to the correct place on a FAT32 card using Windows computers. Format your SD card as FAT32, use this utility and then unzip the correct CHDK distribution file to the SD card.
- SDMInst app for the Apple Mac can be used to make a FAT32 card bootable. Instructions for the Mac are here FAQ/Mac. Please pay particular attention to this section Problems loading CHKD on SD cards with a Mac computer.
- LICKS the Linux Installer for CHDK and SDM can be used to create FAT32 bootable cards under Linux.
- FAT32 Format allows you to format SD cards in FAT32 format - useful if you have a newer camera that only supports exFAT format (exFAT does not support CHDK booting).
For cameras released before 2011 :
Not all cameras support dual partitions. Check the wiki page and forum porting thread for your camera before trying to use dual partitions.
With older cameras, the best booting method options depends on the size of the SD card. For cards 4G in size or smaller, the card needs to be formatted as FAT16 and configured to be bootable. For cards 8G or larger, you will need to create two partitions - a small 500K FAT16 partition configured to be bootable and a larger partition formatted as FAT32 to take up the rest of the space on the SD card.
Configuring any SD card to load CHDK via the card lock booting method requires these three steps :
- Setup the SD card by creating one or two partitions and formatting each partition as either FAT16 or FAT32.
- Modify the boot block of the first partition on the card by inserting the text string "BOOTDISK" at the appropriate place.
- Copy the "Complete" CHDK executable distribution to the correct places on the SD card. For single partition cards, all the files and folders from the CHDK distribution file belong on that partition. For dual partition cards, all the files and folders from the CHDK distribution file belong on the large second partition except for the files DISKBOOT.BIN and either PS.FIR or PS.FI2, which belong on the smaller FAT16 bootable partition.
To simplify the preparation of a CHDK SD card, several utilities are available. These utilities can partition and format bootable SD cards and download & install CHDK to those cards.
- For MS Windows :
- the standalone program sdminste.exe can be extracted from inside this package : Common Files . Instructions are available at Using SDMinste to Create Dual Partition SD cards . It can format 4G or smaller cards as bootable FAT16 and it can format cards 8G or larger for dual partition booting.
- there is also the Cardtricks program for use with SD cards of 4G bytes or less, as described in CHDK for Dummies.
- EOScard1.2 utility will write a boot string to the correct place on a single partition FAT16 card. Format your SD card as FAT16, use this utility and then unzip the correct CHDK distribution file to the SD card.
- For Linux, to make any card bootable use the Linux Installer for CHDK and SDM.
- For the Apple Mac, to make a card bootable use the SDMInst app as described in FAQ/Mac. Pay particular attention to Problems loading CHKD on SD cards with a Mac computer.
If you do not wish to use the utilities listed above, there are manual methods available for card configuration. Several of these are listed below. For cards 4G or smaller, you can also follow the instructions give above for cameras released after 2010 provided you first format your SD card as FAT16 using the card reader in your PC computer.
A Deep Dive into the Boot Process
During the boot process, a Canon P&S camera powers up and checks to see if the SD card lock switch is in the "Locked" position. If the card is locked, the camera next checks the volume boot sector of the first partition on the SD card for the signature string "BOOTDISK". This signature is stored starting at offset 0x40 (decimal 64) on a FAT16 volume and at offset 0x1E0 on a FAT32 volume. If the signature is found, the camera checks the root directory of the SD card for a file named "DISKBOOT.BIN". If found, this file is loaded into memory and control is passed to that code. Naturally, this file contains the CHDK program
Note : when loaded, CHDK causes the camera to ignore the lock the SD card, so that images may be stored.
For cameras released prior to 2011, booting only works on FAT16 volumes. The maximum size for FAT16 is 4GB so using an SD card larger than 4GB is more complicated. By dividing such cards into two partitions (volumes), one can have a small FAT16 partition (500K) from which to boot, and a much larger FAT32 volume using the rest of the SD card for storing images. When using this method, the FAT16 partition must be the first one in the partition table. When it loads, CHDK will logically swap the partitions after loading, so the camera only sees the larger one. Because of this, only the DISKBOOT.BIN file needs to be located in the smaller partition - all the other CHDK files need to be located on the larger partition. Failing to do this will mean the CHDK logo will not display at boot, menu icons will not appear and things like fonts and test scripts will not be available.
SD cards do not normally contain multiple partitions. Some operating systems, particularly Windows, do not have drivers which can properly handle SD cards with multiple partitions. Windows will only see the first partition on an SD card. Because of this, the partitions need to be "swapped" before using a card in Windows if one wishes to transfer images directly. The CHDK debug menu has an option which will do this. When moving the card back to the camera, you will have to manually start CHDK via the firmware update method (because the camera will only see the FAT32 partition, so it won't boot), and do a swap again. Alternatively, tools like sdminste.exe can be used to swap the partitions on the PC before returning the card to your camera.
It should also be noted that doing a card format in the camera will format the entire card into one volume, removing CHDK in the process.
If you are still curious about how CHDK autoloads, check out this thread How does CHDK start running.
Other methods for preparation a Bootable SD card
Windows Method #1: HxD GUI (for cameras released after 2010)
- First format your card FAT32
- On a PC, use HxD http://mh-nexus.de/en/hxd/ to EDIT the boot sector of the SD card.
- In Extra- > Open Disk Deselect Read Only : BE CAREFULL Select the Unit x: or what ever of your SD card - not your Harddisk!!!
- Go to the right part at the level of 00001E0 and change the letters "any key " to "BOOTDISK"
- Then you only have to extract all the contents of CHDK distribution zip file into the root of the drive (taking care to have the zip utility restore the orginal directory structure)
- Write protect your SD, and you camera should autoload from it.
Thanks to asm1989 for this method from the CHDK Forum
Windows Method #2: mkbt.exe CLI (for cameras released after 2010)
If you're looking for a Command Line Interface to make your SD card bootable as part of a batch file script, Bart's MKBT does the trick nicely:
- Format card by any method on this page (recommend using your camera)
- Make card bootable by any method on this page (recommend using CHDK)
- Copy boot sector from card:
mkbt.exe -c -x f: bootsect.bin
This will create a 512 byte file containing the raw boot sector from the card. Now whenever you want to make your card bootable again:
- Format card
- Copy boot sector to card:
mkbt.exe -x bootsect.bin f:
Windows Method #3: HDHacker GUI (updated April 2012)
- Download the HDHacker utility from here and the xvi32 hex editor from here to execute the following steps.
- Format you SD card in your camera (see notes above about FAT16, FAT32 and exFAT)
- Install and run HDHacker.
- Select the proper drive letter corresponding to your SD card in the card reader.
- Set drive to operate = "bootsector", select sector = "bootsector"
- click on "Read sector from disk"
- click on "save sector to file" (512 bytes named something like: BootSector_G9.bin)
- Open xvi32 (or another hex editor ) to edit this file
- For FAT16 cards, go to offset 0x40 (decimal 64) and type BOOTDISK in ASCII mode (as explained here). Keep in mind that, if you do not see FAT12 or FAT16 around 0x36 (decimal 54) in the hex editor, you probably picked the wrong drive. Do not overwrite anything in that case.
- For FAT32 cards, go to offset 0x1E0 (decimal 480) and type BOOTDISK in ASCII mode (as explained here).
- Save it as a different file (for example : BootSector_G9_bootable.bin)
- With HDHacker again, reselect the proper drive letter corresponding to your SD card in the card reader.
- Set drive to operate = "bootsector", select sector = "bootsector"
- press "load sector from file" and choose the file you just saved (for example : BootSector_G9_bootable.bin)
- press "write sector on disk" (Don't forget to select the correct drive letter!)
- Unzip you the correct CHDK zip file for your camera and firmware version to the SD card, remembering set your unzip utlitily to recreate the folder structure from the zip file on the SD card.
- Lock the card, insert in camera, power on and enjoy.
Windows Method #4: bootable.exe CLI
- Extract from [ http: // ewavr.nm.ru /chdk / bootable.zip ] the "bootable.exe" file (link obfuscated to bypass wikia ban on directly downloadable links - remove spaces to fix it)
- Put your SD card into reader or SD slot in computer and copy "bootable.exe" to the SD card
- SD card behaves as disk and has assigned some letter (for example "F:"). Run shell (on winXP: menu Start - Run..., type "cmd") and change to SD card (by typing "F:" and press Enter in this example case)
- Run "bootable.exe" You will be prompted to give right syntax as "bootable.exe F:"
- Confirm and your SD card is bootable (Note: Doesn´t work with SanDisk Ultras "USB-Edition"!)
Windows Method #4: CHDK in-camera
If you have a SDHC card that is bigger than 4Gb you have to create two partitions on the card. This can now be done entirely on the camera thanks to Thorwak's great modification and guide. Here is how to do it, more or less copied from his guide:
- Low level format card in camera. The card now contains one FAT32 partition.
- Unpack the small build of CHDK directly to the card using PC.
- Start CHDK manually (Firmware update).
- Enter the CHDK menu, and select Miscellaneous stuff -> Debug Parameters -> Create card with two partitions. CHDK now creates the boot partition as before, but also formats it using FAT12 and marks the partition bootable. (not available on all ports)
- Put the card back in PC. If necessary, format the newly created 2MB partition. Re-unpack small CHDK to this partition.
- Write protect the card (there is usually a switch on the side of the card; move it to the locked position).
- The camera should now boot off of the card.
- Enter the CHDK menu, and select Miscellaneous stuff -> Swap partitions.
- Unlock the card, and put it back in the PC. Now format the large partition, and unpack full CHDK onto it.
- Lock the card and put it back in the camera.
- Start CHDK manually (Firmware update) one more time, and select Miscellaneous stuff -> Swap partitions.
Congratulations, now your camera should boot from CHDK automatically!
Caveats: Windows does not seem to be able to access both partitions at once. See the note below about using Linux to fix that. Otherwise you will have to run Swap partitions before you take the card out of the camera so windows can access your photos, then repeat the last step after you put the card back in to make it boot CHDK automatically. To me, this is much better than having to start CHDK manually every time you turn on the camera!
Apple Method #1:
More complete directions - FAQ/Mac
Apple Method #2: MacOS X Leopard
- Load your SD card in a card reader (unless your camera appears as a disk drive when you connect it)
- Open Disk Utility and highlight the volume. Click "Info" and look for "Disk Identifier". For me, it was /dev/disk2s1
- close the Info window
- With the volume highlighted (not the "drive"), click "Unmount".
- From a Terminal command line, run a command like this:
sudo newfs_msdos -F 16 -v MYSDCARD -b 4096 -c 128 /dev/disk2s1
If you get an error on the Mac command line after running this command like "newfs_msdos: warning: /dev/disk2s1 is not a character device" go ahead and re-mount the drive in the Apple Disk Utility. The drive should still show up as a FAT 16 drive, you can then continue
Apple Method #3: Darwin ports installed
The instructions for the Linux direct method also work for the Mac, provided you have darwin ports installed
- Go to MacPorts website and install MacPorts [1]
- type sudo port install hexedit to install hexedit
- type man hexedit to familiarize yourself with the commands of hexedit
- Open Disk Utility and click on the image for the SD card - click on "Get Info" to determine the location of the partition (such as disk4s1)
- Use Disk Utility to unmount the partition
- in a terminal window, type sudo hexedit /dev/disk4s1. Press enter (that's fn+return on some keyboards). Type in '40' to go to offset 0x40. Hit enter. Hit "tab" to switch to typing on the ASCII side. Type "BOOTDISK". Hit control-X and type "Y" when prompted to save.
Apple Method #4:
If you don't want to install darwinports and hexedit, you can also use the free 0xED [2], or Hex Fiend, which will work with the indirect way as well. This may be the simplest way for a Mac user to get a bootable SD disk.
- Go to the Disk Utility. Select your SD card from the list at the left, and click Informations to get the disk identifier (example: disk4s1). Use this in the steps below
- Using Disk Utility, unmount (don't eject!) your SD card.
- Open a Terminal window and type: dd if=/dev/disk4s1 of=BootSector_G9.bin bs=512 count=1. This copies a sector of the SD card to your Mac's hard disk.
- The BootSector_G9.bin file in your Home directory contains your SD card's boot sector. Make a backup of it in case anything goes wrong.
- Open BootSector_G9.bin with 0xED. Keep in mind that, if you do not see FAT12 or FAT16 around 0x36 (decimal 54) in the hex editor, you probably picked the wrong drive. Do not overwrite anything in that case.
- If the file is correct, select the Overwrite writing method (Command+Shift+O).
- Go to offset hex 40 (decimal 64) and press Tab. Type BOOTDISK. Save and quit.
- In your Terminal window, type: dd if=BootSector_G9.bin of=/dev/disk4s1 bs=512 count=1. This copies the modified file to the boot sector of your SD card.
- Using Disk Utility, mount the card.
- Copy the file DISKBOOT.BIN to the SD card. Make sure to use the correct version for your model of Canon camera.
- Eject the SD card. Slide the tab to the LOCK position
Linux Method #1: Smaller SD Cards
SD card no larger than 4Gb. To start from zero, either format your card with the camera, or use GParted (or fdisk) to create a single partition on the SD card. Make sure the format is FAT16. About gparted: Note that making a single partition doesn't mean dividing the card in two parts, it means creating a single data section called a partition.
To make the partition bootable, use:
echo -n BOOTDISK | dd bs=1 count=8 seek=64 of=/dev/sdx1
Linux Method #2: Larger SD Cards
If you have a SD card that is bigger than 4Gb you have to create 2 partions on the card. The first has to be formatted with FAT16 and will hold the CHDK files for booting (1MB is enough). The second partition has to be formated with FAT32 and will hold the images. The simplest way to do this in Linux is to install gparted. With this great GUI based partition manager you can set up the partitions. Within gparted, set the "boot" flag for the first partition. It will not work without this. Note: Windows will not be able to see the second partition holding the pictures unless you do some modification to partition table.
To make the first partition bootable use:
echo -n BOOTDISK | dd bs=1 count=8 seek=64 of=/dev/sdx1
Notes: from gparted you should already know the correct location of your card (/dev/sdb1 or b2 or a1 or a2 ....). Or by looking at dmesg just after you inserted your card it will show you your SD card device name e.g. look for a line sometine like [ 9888.596295] sdb: sdb1 then sdb1 is your device
gparted tips: Insert the card before starting gparted. If you find the 'fat16'menu option greyed out in the 'format to' menu, you may need to install dosfstools in the package manager (in this case you may also have to restart gparted). Remember to hit 'apply all operations' in the edit menu to apply the changes you made to the card before exiting gparted.
Linux Method#3
- Start a terminal, if you haven't done so already
- Determine the location of your card, it is usually something like /dev/sdx. If the card is mounted, you can determine the location from the mount command. Make sure you pick the right one! Replace the x in /dev/sdx appropriately.
- Make sure your card is unmounted (umount /dev/sdx1)
- Now, you need to alter the partition's bootsector. There are two ways to do this. This guide assumes hexedit is used, though you can use any hex editor. Keep in mind that, if you do not see FAT12 or FAT16 around 0x36 (decimal 54) in the hex editor, you probably picked the wrong drive. Do not overwrite anything in that case. If you see FAT32, you will have to reformat the card in FAT16 - this can be easily done with mkdosfs -F 16 /dev/your_card_partition. Make sure to copy all the needed images off the card before doing this.
- Directly
- Open your SD card's FAT partition in hexedit: hexedit /dev/sdx1
- Go to offset 0x40 (decimal 64) and type BOOTDISK in ASCII mode.
- Save (Ctrl-X in hexedit) and quit.
- Directly (without hexedit)
- echo -n BOOTDISK | dd bs=1 count=8 seek=64 of=/dev/sdx1 (if you get "dd: /dev/sdx1 Permission denied" put "sudo " before dd)
- Indirectly
- First, extract the bootsector like this: dd if=/dev/sdx1 of=BootSector_G9.bin bs=512 count=1
- Copy the saved file, so you have a backup: cp BootSector_G9{,_bootable}.bin
- Open the copy in a hex editor: hexedit BootSector_G9_bootable.bin
- Go to offset 0x40 (decimal 64) and type BOOTDISK in ASCII mode.
- Save (Ctrl-X in hexedit) and quit.
- Upload the bootsector to the card again: dd if=BootSector_G9_bootable.bin of=/dev/sdx1 bs=512 count=1
- Indirectly (without hexedit, assuming bash)
- First, extract the start of the bootsector like this: dd if=/dev/sdx1 of=BS.bootable bs=64 count=1
- Next, append the required name: echo -n BOOTDISK >> BS.bootable
- Finally, append the rest: dd if=/dev/sdx1 bs=1 skip=72 count=$[512-72] >> BS.bootable
- Upload the bootsector to the card again like in the former example: dd if=BS.bootable of=/dev/sdx1 bs=512
- Indirectly with script (szymonolko_a_t_o2.pl)
- Save below lines as script
- Run it with one argument which is the partition to be made bootable, eg. make.bootable /dev/mmcblk1p1
- Directly
#!/bin/bash DEV=$1 if [[ -z "${DEV}" ]] then echo "Usage: $0 partition" exit 1 fi dd if=${DEV} of=1.tmp.bin bs=64 count=1 echo "BOOTDISK" > 2.tmp dd if=2.tmp of=2.tmp.bin bs=8 count=1 rm 2.tmp #512-64-8=440 dd if=${DEV} of=3.tmp.bin skip=9 bs=8 count=55 cat 1.tmp.bin 2.tmp.bin 3.tmp.bin > bootable.bin rm 1.tmp.bin rm 2.tmp.bin rm 3.tmp.bin dd if=bootable.bin of=${DEV} bs=512 count=1 rm bootable.bin
#!/bin/bash [ "$1" ] || { echo "Usage: $0 partition"; exit 1; } dd if="$1" of=bootable.bin bs=512 count=1 echo -n "BOOTDISK" | dd of=bootable.bin bs=1 count=8 seek=64 conv=notrunc dd if=bootable.bin of="$1" bs=512 count=1 rm bootable.bin
Linux Method for making a second partition visible under Windows
Assuming your memory card is /dev/sdX
- Open fdisk
- fdisk /dev/sdX
- Create an empty dos partition table.
- o <enter>
- Create sdX1 and sdX2 as primary partitions:
- n <enter> p <enter> 1 <enter> 1 <enter> +10M <enter>
- n <enter> p <enter> 2 <enter> <enter> <enter>
- Change sdX1 -> fat16, sdX2 -> fat32
- t <enter> 1 <enter> 6 <enter>
- t <enter> 2 <enter> b <enter>
- Write changes to disk & exit
- w <enter>
- Make filesystems
- mkdosfs /dev/sdX1; mkdosfs -F32 /dev/sdX2
- Make the sdX1 bootable (see instructions above)
- Look at the partition layout for /dev/sdX1
- fdisk -l /dev/sdX
- Note the numbers under the "Start", "#sectors", and "Id" parameters
- Example output:
- Device Boot Start End #sectors Id System
/dev/sdd1 32 18431 18400 6 FAT16
/dev/sdd2 18432 31115263 31096832 b W95 FAT32
/dev/sdd3 0 - 0 0 Empty
/dev/sdd4 0 - 0 0 Empty
- Device Boot Start End #sectors Id System
- use sfdisk to create sdX3 as clone of sdX1
- sfdisk -uS -N3 -f /dev/sdX
- Use the numbers you wrote down in the last step for sdX1.
- {start} {#sectors} {id} <enter>
- From the example output: type "32 18400 6" and press <enter>
- Note: It will warn you that partitions 1 and 3 overlap. This is normal. Type "y" confirming that you want to run the command.
- y <enter>
- Change partition id of sdX1 to extended
- sfdisk --id /dev/sdX 1 5
Credit from above instructions to cg at http://chdk.setepontos.com/index.php/topic,255.30.html


text:
ENews Signup
See something in a GSUSA catalog that you like? Call your local Council Shop and we can order it for you! Call 800.624.4185.
Did you know? Only purchases made through our council online shop or at one of our four shop locations generate revenues that directly benefit Girl Scouts Heart of the South? Please make your purchases through us and support your local Girl Scouts.
Thank you for telling your friend about our products
AMBASSADOR YOUR VOICE, YOUR WORLD AND ADULT GUIDE JOURNEY BOOK SET How To Guide - Journey Book Sets
The companion How To Guide for adult volunteers offers key information about the journey, its awards and its leadership benefits, and step-by-step sample plans for how journey sessions can unfold as girls meet. The adult guides also feature sections on Girl Scout history as well as understanding girls at each grade level. Each "How To Guide" / Journey Book Set has everything adult volunteers need to enjoy this amazing journey. Just bring your enthusiasm and sense of adventure. How To Guide and Your Voice, Your World: The Power of Advocacy Girl's Book.
We've made the resources you need easy to find!

subset: commoncrawl


text:
The government has suspended the issuance of licenses of mineral exports for mining companies that owe district councils royalty.
"The Prime Minister's Office, Regional Administration and Local Government and the Ministry of Energy and Minerals have suspended minerals export licenses to firms that were yet to clear their debts in the respective councils," said PMO-RALG permanent secretary Hussein Katanga recently.
He was briefing regional administrative secretaries, directors and internal auditors who met here to discuss the Controller and Auditor General's report for 2010/2011 for the purpose of taking appropriate remedial measures.
Katanga cited the example of Geita District Council which is owed by mining companies close to USD 1.2 billion.
He challenged participants to ensure that they submit names of staff, who qualify to head departments, as many district councils have been sending only three names, including of those who were not fit for top positions in councils.
Meanwhile, Katanga said from now on PMO-RALG would be using regional engineers to monitor road constructions and in return they would be answerable for quality of roads.
For her part, PMO-RALG State Minister Hawa Ghasia called on the participants to ensure that they implement programmes and plans that have been designed as shown on business plans.
She stressed that tough measures would be taken against those found guilty of embezzlement of public funds.
Dodoma regional commissioner Dr Rehema Nchimbi called on participants to cooperate with their fellow officials in their respective work stations in order to improve efficiency.
"People are suffering because we are not playing our roles as we should have been. When you're a bad player, you end up hurting the entire team, therefore cooperation is very important," she said.


text:
proudly presented by:
Click here to see who's performing this year!
There is nothing like fireworks to celebrate the 4th of July!
Click here to get the most up-to-date information on this year's show
Use #bostonjuly4th to join the conversation!
Have a question? Read our most frequently asked questions here!
Click here to find out what you can and cannot bring into this year's show.
Check it out and share with us!
Join the conversation on Twitter! Hashtag: #BostonJuly4th
Watch our history, time lapse and behind the scenes stories


text:
This set of 4 34x35inch, 8mm Play Silks reminds us of Autumn. Our Autumn assortment includes Royal Purple, Rust, Goldenrod, and Teal. Yum! Each Play Silk is $10.75! Silks are manufactured and hand-hemmed in China, they are dyed, ironed, and packaged in California using low-impact Jacquard Silk Dyes.
PLEASE NOTE: As with all playsilks, sizes vary from silk to silk. They are hand-hemmed, dyed in very hot water, ironed, and each of these processes can change the size of the silks. They are not perfect squares. We find that children do not notice and enjoy each as it is.


text:
Filia Oil Pastels, of Danish origin and quality, were one of the first of their type introduced world-wide. Since their introduction, many artists have said that the texture, color strengths and the adaptability of these Pastels live up to the demands they have as professionel artists.
This is a box of 36 colors to get your artist started. Each stick is 2 1/4" long and 1/4" in diameter. We recommend that you also purchase our Drawing Paper (see link below) for a good quality paper to use.
Not suitable for children under 3 years as broken crayons may be swallowed. Made in Denmark.


text:
Posted on 7/31/2013
Elizabeth Edmonds
Try some of these things to get more fruit:
Keep a bowl of whole fruit on the table, counter, or in the refrigerator. Between meals you can snack on fruits. It is also a great idea to snack on dried fruits. They are easy to carry and store well. People who eat more vegetables and fruits as part of an overall healthy diet are likely to have a reduced risk of some chronic diseases. Most fruits are naturally low in fat, sodium, and calories. None have cholesterol. Any fruit or 100% fruit juice counts as a part of the Fruit Group.
For more tips and resources visit:
Nutrition Education Series
For information about the Behealthy School Kids Program call 336-703-3217, email email@example.com, or visit: http://www.forsyth.cc/PublicHealth/behealthy_school_kids.aspx
Source: ChooseMyPlate
799 North Highland Avenue
Winston-Salem, NC 27102
(336) 703-3100
(336) 748-3292
Communicable Diseases
(336) 748-3644
Medical Records Information
(336) 727-8135
The mission of the Forsyth County Department of Public Health is to prevent disease
and promote a healthy community through regulation, education and partnerships.
Adopted by the Board of Health 10/2/13.
Copyright © 2016 Forsyth County | Contact the Webmaster | Site Map


text:
Trinity is surrounded by rocky beaches perfect for searching out treasures such as colourful seashells, sea glass and old clay pipes. Visitors who come in late spring early summer just might get the change to witness "the capelin run". This is when thousands of silvery capelin roll up on the beaches to spawn. Not only is it an amazing sight to behold, but it also serves as an indication that the whales, which feed on capelin, will soon be arriving!
The Bald Eagle:
Bald Eagles are no stranger to Trinity Bay. Visitors can spot eagle's nests while hiking or taking a boat tour. These magnificent birds are often spotted soaring over the town of Trinity and are hard to miss with wingspans sometimes reaching over 6 feet. Immature eagles are brown and do not develop their white heads and tails until they are five years old. Because Trinity Bay is a popular nesting ground, bird watchers can see these majestic creatures at their different ages.
The Atlantic Puffin:
Atlantic Puffins spend most of their time at sea but return to land during spring and summer to form breeding colonies. One such breeding colony is locatedin Elliston on route 238 and is just a short drive from Trinity. These white and black birds with colourful beaks are only 10 inches tall and flap their wings at over 400 beats per minute. It can often be difficult to photograph a puffin as it flies, but plenty can be spotted resting on land tending their burrows.
The Arctic Tern:
This bird is known for making the longest annual migration in the animal kingdom, guaranteeing itself two summers, lending it the nickname "bird of the sun". The Arctic Tern can often be spotted diving for small fish and crustacean around Trinity's beaches and directly in front of the Twine Loft Restaurant.
Bird watching Links:
Eastern Newfoundland Birdfinder
The province's tourism site provides information about birds,
seabird ecological reserves, and private tour operators.
The Natural History Society of Newfoundland and Labrador's
site has a birding checklist for the province, and occasionally
information about birding activities.
The province's Parks and Natural Areas site lists and describes
seabird ecological reserves.
This Google group site is where local birders report recent
sightings of interest.
Francais Nederlands Deutsch


text:
American Standard 0495.221.020
White Ovalyn 15" Undermount Porcelain Bathroom Sink
Item # BCI5982 | Model # 0495.221.020 | Ovalyn Collection
Questions about American Standard 0495.221.020?
Contact us for advice or more details. Our product specialists are here to help.
Product Features:
- Constructed of extra-thick porcelain - one of the hardest man-made materials on earth
- Industry's best baked-in finish - indestructible and mirror-like
- Undermount installation - creates a very professional look; great for counter-top contrasts
- Recessed drain lip and thoughtfully-engineered slopes eliminate any water pooling
- Includes overflow - sink cannot be over-filled - great for children, guests, and high-use bathrooms
- Rear drain location increases usable storage area within cabinet
- This sink is the perfect complement to any bathroom as well as any lifestyle
- American Standard bathroom sinks are engineered to look beautiful and last a lifetime
- Cutout template included
Product Specifications:
- Overall Height: 7-1/2" (measured from the bottom of sink to the top of the rim)
- Overall Width: 14-1/8" (measured from the back outer rim to the front outer rim)
- Overall Length: 17-1/8" (measured from the left outer rim to the right outer rim)
- Basin Width: 12-1/16" (measured from the back inner rim to the front inner rim)
- Basin Length: 15-1/16" (measured from the left inner rim to the right inner rim)
- Basin Depth: 5-1/2" (measured from the center of basin to the rim)
- Installation Type: Undermount
- Material: Vitreous China
- Number of Faucet Holes: 0
- Drain Outlet Size: 1-1/4"
- 0495.221: This model
- 0495.300: This model with glazed underside
About American Standard:An American brand with over 140 years of innovations, American Standard is defined by experience, intelligence, and indelible influence. As the patriarch for nearly every key product category for the kitchen and bath, their offering shows a level of thoughtfulness and sophistication that could only be attributed to a company with a legacy as rich as that of American Standard. Today, professional plumbers and contemporary DIY home owners continue to turn to American Standard because they appreciate this legacy and know they can trust the innovations behind each product. It is for this reason that American Standard is so widely used within residential and commercial projects in both the United States and abroad - their products truly deliver, just as they have for generations.
Additional American Standard Links
- View the Manufacturer Warranty
- Browse All American Standard Products
- American Standard Ovalyn Collection
This American Standard item can also be referenced by the following color/finish specific model #:
- American Standard 0495.221.178*
- American Standard 0495.221.021
- American Standard 0495.221.225*
- American Standard 0495.221.045*
Fawn Beige
- American Standard 0495.221.222
- American Standard 0495.221.210*
- American Standard 0495.221.209*
Rhapsody Blue
- American Standard 0495.221.173*
- American Standard 0495.221.165*
- American Standard 0495221.227*
- American Standard 0495.221.020
*Discontinued model or finish
More Than Just a Store - Your Reasons to Shop
Discover the best online deals for the American Standard 0495.221 and everything else for your home from the leading online home improvement store.
We're committed to providing you with the best assortment of American Standard products with over 400 warehouses across the country.
Our knowledgeable product specialists work to bring you the best prices on every product and provide unmatched customer service. Your satisfaction is our highest priority!


text:
No name in metal frames is more respected than Nielsen. Each style is available in even inch increments from 6" to 42" (15 cm to 107 cm).
Frame Depth — The depth of a frame refers to the depth of the frame's rabbet (the
Frame Dimensions — Frames are sized by the opening, not by the outside of the molding. To determine the size of frame to order, measure the outside of your artwork, including mat, and order that size frame. The frame will overlap your artwork ¼" all the way around, so your artwork will fit nicely behind the frame's molding.
Nielsen Frame Sections are ordered in pairs of equal length. Each item you order is a pair, and two pairs complete a frame. Each order is shipped with all the hardware needed to easily build a beautiful and sturdy frame, using no tools other than a flat screwdriver. All Nielsen frame sections are cut to order. This custom work will increase the ship time of your order slightly.
™ Nielsen Bainbridge is a trademark.


text:
Phinfever Home Page
Phinfever Chat Room Note: You must be logged into the boards to access chat!
Board index » Miami Dolphins » Dolphin Talk
All times are UTC - 6 hours [ DST ]
Last edited by bobby0112 on Mon Mar 18, 2013 6:59 pm, edited 1 time in total.
Users browsing this forum: Google [Bot], Kev1321, phinsfansc, Yahoo [Bot] and 11 guests


text:
Date: 03/10/2013
Time: 1:00pm - 2:30pm
Cost: $35
This class will cover how to make handmade bar soap from scratch. Topics will include the chemistry of saponification, natural ways to color and fragrance soap and how to do it all safely. Includes written procedure, recipes and soap to take home. Class is taught by Sellwood Soap Company owner Rachael Gruen. All materials are included.
To register for this class, please call the shop at 503-2533-8691


text: Add a little glam to your day with this gorgeous green Prada handbag. Three tiers of ruched leather give this tote a playful decadence; exaggerated handle anchors provide an eye-catching finish. Rolled handles, detachable/adjustable shoulder strap and goldtone hardware. The interior boasts an open and two zip compartments, along with open and zip pockets on leather lining. Dimensions: 16"L x 5"W x 10"H; 5" handle drop an 17" shoulder strap.


text:
BDR User Guide
From PostgreSQL wiki
BDR stands for BiDrectional Replication.
Design work began in late 2011 to look at ways of adding new features to PostgreSQL core to support a flexible new infrastructure for replication that built upon and enhanced the existing streaming replication features added in 9.1-9.2. Initial design and project planning was by Simon Riggs; implementation lead is now Andres Freund, both from 2ndQuadrant. Various additional development contributions from the wider 2ndQuadrant team as well as reviews and input from other community devs.
At the PgCon2012CanadaInCoreReplicationMeeting an inital version of the design was presented. A presentation containing reasons leading to the current design and a prototype of it, including preliminary performance results, is available here.
Project Overview and Plans
Project Aims
- in core
- fast
- reusable individual parts (see below), usable by other projects (slony, ...)
- basis for easier sharding/write scalability
- wide geographic distribution of replicated nodes
High Level Planning
Fundamental changes have been made as part of 9.3 to support BDR; total of 16 separate commits on these and other smaller aspects
- background workers
- xlogreader implementation
- pg_xlogdump
Fully working implementation will be available for production use in 2013. At this stage, probably more than 50% of code exists out of core.
Exact mechanism for dissemination is not yet announced; key objective is to develop code with the objective of being core/contrib modules. There is no long term plan for existence of code outside of core.
Objective to implement main BDR features into core Postgres.
Additional features based upon feedback
Aspects of BDR
Bi-Directional Replication consists of a number of related features
- Logical Log Streaming Replication - getting data from one master to another.
- Global Sequences - ability to support sequences that work globally across a set of nodes
- Conflict Detection & Resolution (options)
- DDL Replication via Event Triggers
Taken together these features will allow replication in both directions for any pair of servers. We could call this "multi-master replication", but the possibilities for constructing complex networks of servers allow much more than that, so we use the more general term bi-directional replication.
Note that these features aren't "clustering" in the sense that Oracle RAC uses the term. There is no distributed lock manager, global transaction coordinator etc.. The vision here is interconnected yet still separate servers, allowing each server to have radically different workloads and yet still work together, even across global scale and large geographic separation.
User Guide
Logical Log Streaming Replication
Logical log streaming replication (LLSR) allows us to send changes from one master server to another master server. This is similar in many ways to "streaming replication" i.e. physical log streaming replication (PLSR) from a user perspective - the main and big difference is that the receiving server is also a full master database that is non-readonly and can make changes. The master that sends data is also known as the upstream master and the master that receives data is also known as the downstream master. Data is sent in one direction only; setting up a configuration with data passing in both directions is called Bi-Directional Replication, discussed later.
The data that is replicated is change data in a special format that allows the changes to be logically reconstructed on the downstream master. The changes are generated by reading transaction log (WAL) data, making change capture on the upstream master much more efficient than trigger based replication, hence why we call this "logical log replication". Changes are passed from upstream to downstream using the libpq protocol, just as with physical log streaming replication.
One connection is required for each PostgreSQL database that is replicated. If two servers are connected, each of which has 50 databases then it would require 50 connections to send changes in one direction, from upstream to downstream. Each database connection must be specified, so it is possible to filter out unwanted databases simply by avoiding configuring replication for those databases.
Setting up replication for new databases is not (yet?) automatic, so additional configuration steps are required after CREATE DATABASE and this also requires a server restart. Adding replication for databases that do not exist yet will cause an ERROR, as will dropping a database that is being replicated.
Changes are handled by means of a BDR plugin, allowing multiple options. Current options are:
- pg_xlogdump - examines physical WAL records and produces textual debugging output (server program included in 9.3)
- textual output plugin - a demo plugin that generates SQL text (but doesn't apply changes)
- BDR apply process - applies logical changes to downstream master, making changes directly rather than generating SQL text and then parse/plan/executing SQL.
Replication of DML changes
All changes are replicated: INSERT, UPDATE, DELETE, TRUNCATE. Actions that generate WAL data but don't represent logical changes do not result in data transfer, e.g. full page writes, VACUUMs, hint bit setting. LLSR avoids much of the overhead from physical WAL, though does have message header overheads also, so bandwidth can be reduced in some, but not all cases.
(TRUNCATE currently not implemented yet)
LOCK statements are not replicated (possible future feature).
Temporary and Unlogged tables are not replicated. In contrast to physical standby servers, downstream masters can use temporary and unlogged tables.
DELETE and UPDATE statements that affect multiple rows on upstream master will cause a series of row changes on downstream master - these are likely to go at same speed as on origin, as long as an index is defined on the Primary Key of the table on the downstream master. INSERTs on upstream master do not require a unique constraint in order to replicate correctly. UPDATEs and DELETEs require some form of unique constraint, either PRIMARY KEY or UNIQUE NOT NULL.
UPDATEs that change the Primary Key of a table will be replicated correctly.
The values applied are the resulting values from the original UPDATE, including any modifications from before-row triggers, rules or functions. Any reflexive conditions, such as N = N+ 1 are resolved to their final value and volatile or stable functions carry their original values with them.
All columns are replicated on each table. Large column values that would be placed in TOAST tables are replicated without problem, avoiding de-compression and re-compression. If we update a row but do not change a TOASTed column value, then that data is not sent downstream.
All data types are handled, not just the built-in datatypes of PostgreSQL core. The only requirement is that user-defined types are installed identically in both upstream and downstream master.
Current plugin is binary only, requiring upstream and downstream master to use same CPU architecture and word-length, i.e. "identical servers", as with physical replication.
A textual output option will be available for passing data between non-identical servers, e.g. laptops communicating with a central server.
Changes are accumulated in memory (spilling to disk where required) and then sent to the downstream server at commit time. Aborted transactions are never sent. Application of changes on downstream master is currently single-threaded, though this process is effeciently implemented. Parallel apply is a possible future feature, especially for changes made while holding AccessExclusiveLock.
Changes are applied to the downstream master in commit sequence. This is a known-good serialization ordering of changes, so no replication failures are possible, as can happen with statement based replication (e.g. MySQL) or trigger based replication (e.g. Slony version 2.0). Users should note that this means the original order of locking of tables is not maintained. Although lock order is provably not an issue for the set of locks held on upstream master, additional locking on downstream side could cause lock waits or deadlocking in some cases. (Discussed in further detail later).
Larger transactions scroll to disk on the upstream master once they reach a certain size. Currently, large transactions can cause increased latency. Future enhancement will be to stream changes to downstream master once they fill the upstream memory buffer, though this is likely to be implemented in 9.5.
SET statements and parameter settings are not replicated. This has no effect on replication since we only replicate actual changes, not anything at SQL statement level. This means that we always update the correct tables, whatever the setting of search_path.
NOTIFY is not supported across log based replication, either physical or logical.
In some cases, additional deadlocks can occur on apply. This causes a retry of the apply of the replaying transaction.
Lock waits would cause latency problems/apply delays. This only applies to LOCK statements and DDL.
Table definitions and DDL replication
DML changes are replicated between tables with matching Schemaname.Tablename on both upstream and downstream masters. e.g. changes from Public.MyTable will go to Public.MyTable and MySchema.MyTable will go to MySchema.MyTable. This works even when no schema is specified on the original SQL since we identify the changed table from its internal OIDs in WAL records and then map that to whatever internal identifier is used on the downstream node.
This requires careful and exact synchronisation of table definitions on each node otherwise ERRORs will be generated. There are no plans to implement working replication between dissimilar table definitions.
In general, "exact match" is the best guide. Current details (subject to change) are
- Secondary indexes may differ between nodes
- Constraints must match for BDR.
- Storage parameters must match.
- Table-level parameters, e.g. fillfactor, autovacuum may differ
- Inheritance must be the same
Triggers and Rules are NOT executed by apply on downstream side, equivalent to an enforced setting of session_replication_role = origin.
Replication of DDL changes between nodes will be possible using event triggers, but is not yet integrated with LLSR.
Selective Replication (Table/Row-level filtering)
LLSR doesn't yet support selection of data at table or row level, only at database level. It is a design goal to be able to support this in the future.
Other Terminology
(Physical) Streaming replication talks about Master and Standby, so we could also talk about Master and Physical Standby, and then use Master and Logical Standby to describe LLSR. That terminology doesn't work when we consider that replication might be bi-directional, or at could be reconfigured that way in the future.
Similarly, the terms Origin, Provider and Subcriber only work with one Origin.
Upstream master
- wal_level = 'logical'
- max_logical_slots = X
- max_wal_senders = Y # Y = max_logical_slots plus any physical streaming requirements
Downstream master
- shared_preload_libraries = 'bdr'
- bdr.connections="name_of_upstream_master" # list of upstream master nodenames
- bdr.<nodename>.dsn = 'dbname=postgres' # connection string for connection from downstream to upstream master
- bdr.<nodename>.local_dbname = 'xxx' # optional parameter to cover the case where the databasename on upstream and downstream master differ. Not yet implemented)
- bdr.synchronous_commit = ...; # optional parameter to set the synchronous_commit parameter the apply processes will be using
- max_logical_slots = X # set to the number of remotes
wal_keep_segments should be set to a value that allows for some downtime of server/network.
New/Changed Parameter Reference
bdr.connections - list of nodes that this server will connect to. For each name listed here there must be one bdr.<nodename>.dsn entry
bdr.<nodename>.dsn - "data source name" - connection info for connecting to upstream master. Security for LLSR is identical to physical log streaming replication
max_logical_slots - LLSR uses persistent slots in memory which are reserved for each node at server start
wal_level - allows a new setting of 'logical' which produces mildly enhanced WAL contents to allow decoding of the WAL back into a logical change stream.
As a result of the architecture there are few physical tuning parameters. That may grow as the implementation matures, but not significantly.
There are no parameters for tuning transfer latency.
The only likely tunable is the amount of memory used to accumulate changes before we send them downstream. Similar in many ways to setting of shared_buffers and should be increased on larger machines.
A variant of hot_standby_feedback could be implemented also, though would likely need renaming.
The CRC check while reading WAL is not useful in this context and there will likely be an option to skip that for logical decoding since it can be a CPU bottleneck.
Operational Issues and Debugging
In LLSR there are no user-level ERRORs that have special meaning. Any ERRORs generated are likely to be serious problems of some kind, apart from apply deadlocks, which are automatically re-tried.
Some new/changed views are available for monitoring activity
- pg_stat_replication
- pg_stat_logical_decoding
- pg_stat_logical_replication
Object statistics are updated normally on downstream side, which is essential to maintain autovacuum operating normally. If there are no local writes, these two views should show matching results (unless stats have been reset).
- pg_stat_user_tables
- pg_statio_user_tables
Since indexes are used to apply changes, the identifying indexes on downstream side may appear more heavily used with workloads that perform UPDATEs and DELETEs by non-identfying indexes.
- pg_stat_user_indexes
- pg_statio_user_indexes
Bi-Directional Replication Use Cases
Bi-Directional Replication is designed to allow a very wide range of server connection topologies. The simplest to understand would be two servers each sending their changes to the other, which would be produced by making each server the downstream master of the other and so using two connections for each database.
Logical and physical streaming replication are designed to work side-by-side. This means that a master can be replicating using physical streaming replication to a local standby server, while at the same time replicating logical changes to a remote downstream master. Logical replication works alongside cascading replication also, so a physical standby can feed changes to a downstream master, allowing upstream master sending to physical standby sending to downstream master.
Simple multi-master pair
- "HA Cluster"
- Server "Alpha" - Master
- Server "Bravo" - Master
- Alpha
- wal_level = 'logical'
- max_logical_slots = 3
- max_wal_senders = 4 # Y = max_logical_slots plus any physical streaming requirements
- wal_keep_segments = 5000
- shared_preload_libraries = 'bdr'
- bdr.connections="bravo" # list of upstream master nodenames
- bdr.bravo.dsn = 'dbname=postgres' # connection string for connection from downstream to upstream master
- Bravo
- wal_level = 'logical'
- max_logical_slots = 3
- max_wal_senders = 4 # Y = max_logical_slots plus any physical streaming requirements
- wal_keep_segments = 5000
- shared_preload_libraries = 'bdr'
- bdr.connections="alpha" # list of upstream master nodenames
- bdr.alpha.dsn = 'dbname=postgres' # connection string for connection from downstream to upstream master
HA and Logical Standby
Downstream masters allow users to create temporary tables, so they can be used as reporting servers.
- "HA Cluster"
- Server "Alpha" - Current Master
- Server "Bravo" - Physical Standby - unused, apart from as failover target for Alpha - potentially specified in synchronous_standby_names
- Server "Charlie" - "Logical Standby" - downstream master
Very High Availability Multi-Master
A typical configuration for remote multi-master would then be:
- Site 1
- Server "Alpha" - Master - feeds changes to Bravo using physical streaming with sync replication
- Server "Bravo" - Physical Standby - feeds changes to Charlie using logical streaming
- Site 2
- Server "Charlie" - Master - feeds changes to Delta using physical streaming with sync replication
- Server "Delta" - Physical Standby - feeds changes to Alpha using logical streaming
Bandwidth between Site 1 and Site 2 is minimised
3-remote site simple Multi-Master Plex
BDR supports "all to all" connections, so the latency for any change being applied on other masters is minimised. (Note that early designs of multi-master were arranged for circular replication, which has latency issues with larger numbers of nodes)
- Site 1
- Server "Alpha" - Master - feeds changes to Charlie, Echo using logical streaming
- Site 2
- Server "Charlie" - Master - feeds changes to Alpha, Echo using logical streaming replication
- Site 3
- Server "Echo" - Master - feeds changes to Alpha, Charlie using logical streaming replication
Using node names that match port numbers, for clarity
- config for 5440:
- port = 5440
- bdr.connections='node_5441,node_5442'
- bdr.node_5441.dsn='port=5441 dbname=postgres'
- bdr.node_5442.dsn='port=5442 dbname=postgres'
- config for 5441:
- port = 5441
- bdr.connections='node_5440,node_5442'
- bdr.node_5440.dsn='port=5440 dbname=postgres'
- bdr.node_5442.dsn='port=5442 dbname=postgres'
- config for 5442:
- port = 5442
- bdr.connections='node_5440,node_5441'
- bdr.node_5440.dsn='port=5440 dbname=postgres'
- bdr.node_5441.dsn='port=5441 dbname=postgres'
3-remote site simple Multi-Master Circular Replication
Simpler config uses "circular replication". This is simpler but results in higher latency for changes as the number of nodes increases.
- Site 1
- Server "Alpha" - Master - feeds changes to Charlie using logical streaming replication
- Site 2
- Server "Charlie" - Master - feeds changes to Echo using logical streaming replication
- Site 3
- Server "Echo" - Master - feeds changes to Alpha using logical streaming replication
Using node names that match port numbers, for clarity
- config for 5440:
- port = 5440
- bdr.connections='node_5441'
- bdr.node_5441.dsn='port=5441 dbname=postgres'
- config for 5441:
- port = 5441
- bdr.connections='node_5442'
- bdr.node_5442.dsn='port=5442 dbname=postgres'
- config for 5442:
- port = 5442
- bdr.connections='node_5440'
- bdr.node_5440.dsn='port=5440 dbname=postgres'
3-remote site Max Availability Multi-Master Plex
- Site 1
- Server "Alpha" - Master - feeds changes to Bravo using physical streaming with sync replication
- Server "Bravo" - Physical Standby - feeds changes to Charlie, Echo using logical streaming
- Site 2
- Server "Charlie" - Master - feeds changes to Delta using physical streaming with sync replication
- Server "Delta" - Physical Standby - feeds changes to Alpha, Echo using logical streaming
- Site 3
- Server "Echo" - Master - feeds changes to Foxtrot using physical streaming with sync replication
- Server "Foxtrot" - Physical Standby - feeds changes to Alpha, Charlie using logical streaming
Bandwidth and latency between sites is minimised.
N-site symmetric cluster replication
Symmetric cluster is where all masters are connected to each other.
N=19 has been tested and works fine.
N masters requires N-1 connections to other masters, so practical limits are <100 servers, or less if you have many separate databases.
The amount of work caused by each change is O(N), so there is a much lower practical limit based upon resource limits. A future option to limit to filter rows/tables for replication becomes essential with larger or more heavily updated databases, which is planned.
Complex/Assymetric Replication
Variety of options are possible.
Conflict Avoidance
Distributed Locking
Some clustering systems use distributed lock mechanisms to prevent concurrent access to data. These can perform reasonably when servers are very close but cannot support geographically distributed applications. Distributed locking is essentially a pessimistic approach, whereas BDR advocates an optimistic approach: avoid conflicts where possible though allow some types of conflict to occur and then resolve them when that happens.
Global Sequences
Many applications require unique values be assigned to database entries. Some applications use GUIDs generated by external programs, some use database-supplied values. This is important with optimistic conflict resolution schemes because uniqueness violations are "divergent errors" and are not easily resolvable.
SQL Standard requires Sequence objects which provide unique values, though these are isolated to a single node. These can then used to supply default values using DEFAULT nextval('mysequence'), as with the SERIAL datatype.
BDR requires Sequences to work together across multiple nodes. This is implemented as a new SequenceAccessMethod API (SeqAM), which allows plugins that provide get/set functions for sequences. Global Sequences are then implemented as a plugin which implements the SeqAM API and communicates across nodes to allow new ranges of values to be stored for each sequence.
Conflict Detection & Resolution
Lock Conflicts
Changes from the upstream master are applied on the downstream master by a single apply process. That process needs to RowExclusiveLock on the changing table and be able to write lock the changing tuple(s). Concurrent activity will prevent those changes from being immediately applied because of lock waits. Use the log_lock_waits facility to look for issues there.
By concurrent activity on a row, we include
- explicit row level locking
- locking from foreign keys
- implicit locking because of row updates or deletes, from local activity or apply from other servers
Data Conflicts
Concurrent updates and deletes may also cause data-level conflicts to occur, which then require conflict resolution. It is important that these conflicts are resolved in an idempotent, similar manner so that all servers end with identical results.
Concurrent updates are resolved using last-update-wins strategy using timestamps. Should timestamps be identical, the tie is broken using system identifier from pg_control (currently).
Updates and Inserts may cause uniqueness violation errors because of primary keys, unique indexes and exclusion constraints when changes are applied at remote nodes. These are not easily resolvable and represent severe application errors that cause the database contents of multiple servers to diverge from each other. Hence these are known as "divergent conflicts". Currently, replication stops should a divergent conflict occur.
Updates which cannot locate a row are presumed to be Delete/Update conflicts. These are counted but the Update is discarded.
Conflicts are logged if we specify bdr.log_conflicts = on
All conflicts are resolved at row level. Concurrent updates that touch completely separate columns can result in "false conflicts", where there is conflict in terms of the data, just in terms of the row update. Such conflicts will result in just one of those changes being made, the other discarded according to last update wins.
Changing unlogged and logged tables in same transaction can result in apparently strange outcomes since the unlogged tables aren't replicated.
As an example, lets say we have two tables Activity and Customer. There is a Foreign Key from Activity to Customer, constraining us to only record activity rows that have a matching customer row.
- We update a row on Customer table on NodeA. The change from NodeA is applied to NodeB just as we are inserting an activity on NodeB. The inserted activity causes a FK check....


text:
Events Calendar
Info Session: NY Women in Law Enforcement, Albany
The Capital Region, New York Women In Law Enforcement will be holding an information session for anyone interested or currently in the Criminal Justice Field. Speakers from NYWLE will discuss what the organization encompasses and how it can benefit you. Brochures and applications will be available. Please come!
Date: Wednesday, March 14th, 2012
Time: 12:30 pm
Duration: 1 hour, 15 minutes
Location: Rathbone Hall 104
Sponsored by: News + Events
Contact: email@example.com, Bobbi Gabrenya


text:
Posted on 8/29/2014
Don Dwiggins
The Forsyth County Public Library, in conjunction with Ratio Architects, has launched an interactive survey website that will provide the public an opportunity to share their thoughts and ideas on topics critical to the role and function a renovated Central Library will play in the community.
The twenty question survey will be divided over two periods with the first ten questions being asked August 29th to September 11th and the second ten September 12th to September 25th.
Comments and suggestions will be shared with Library Director Sylvia Sprinkle-Hamlin, Associate Director, Elizabeth Skinner and Deputy Forsyth County Manager, Damon Sanders-Pratt.
Take the survey
3554 Clemmons Road
Clemmons, NC 27012
(336) 703-2920
Closed Sunday
10:00 - 9:00 Monday
10:00 - 9:00 Tuesday
10:00 - 9:00 Wednesday
10:00 - 6:00 Thursday
10:00 - 6:00 Friday
10:00 - 5:00 Saturday
Hours for All Locations
Holiday Closings
Copyright © 2016 Forsyth County | Contact the Webmaster | Site Map


text:
September 23, 2012
Jacob Messer
Each Monday, Herd Nation will provide updates on how each of the four Marshall football commits performed the previous weekend. Here is the fourth entry in our weekly series. ...More... To continue reading this article you must be a member. Sign Up Now!
Already a member? Click here to sign in


text:
Events Calendar
Be the Spark! The Importance of Belief in Education
The Sage Colleges School of Education Spring Speaker Series
Date: Thursday, March 29th, 2012
Time: 7:30 pm
Location: Bush Memorial, Troy Campus
Sponsored by: School of Education
Contact: (518) 244-2326
Katie Ferguson, 2nd grade teacher in the Schenectady City School District, is the 2012 New York State Teacher of the Year and a graduate of The Sage Colleges School of Education. Her work with independent literacy centers has often been observed by teachers throughout her district. She prides herself in individualizing instruction to meet the needs of her learners and enjoys creating materials to meet the specific needs of her students, from individual behavior charts to songs, chants, or cheers to help children learn new concepts. She also believes that a strict, but caring environment is essential to learning both academic and life lessons.


text:
Posted on 4/25/2014
Janis Fox
Teens: are you hoping to find a job this summer? Wondering what it takes to get one you'll enjoy? Then join us in Teen Central for a special job training program from ReBuildUp.
Registration is suggested as space is limited. To register, please call Teen Central at 703-3080. We'll need your name, grade, and a contact phone number (just in case!).
Teen Central (ground floor of the Central Library)
Saturday, May 3rd
1 p.m.-3:30 p.m.
This program is for youth in grades 6-12, and is free and open to the public. For more information, please call Teen Central at 703-3080.
130 E. Mountain St.
Kernersville, NC 27284
(336) 703-2930
Closed Sunday
10:00 - 9:00 Monday
10:00 - 9:00 Tuesday
10:00 - 9:00 Wednesday
10:00 - 6:00 Thursday
10:00 - 6:00 Friday
10:00 - 5:00 Saturday
Hours for All Locations
Holiday Closings
Copyright © 2016 Forsyth County | Contact the Webmaster | Site Map


text:
Posted on 12/18/2013
Ashleigh Sloop
Deputy Hanes began her career with the FCSO on January 10th, 2004. She served in many areas of the agency, to include Transportation, Crime Scene and Courtroom Security.
Deputy Hanes will be missed and we wish her the best in all future endeavors. Congratulations Deputy Hanes!
Administration Building 301 North Church Street
Winston-Salem, NC 27101
(336) 917-7001
(336) 727-8070
Detention Center 201 North Church Street
Winston-Salem, NC 27101
(336) 917-7600
Copyright © 2016 Forsyth County | Contact the Webmaster | Site Map


text:
Solid Hardwood
With classic style and natural beauty, nothing quite compares to the appeal of real solid hardwood flooring. Our solid hardwood floor collections feature pre-finished, premium-grade wood species including Oak, Birch and Acacia that provide your home with the timeless beauty and elegance of natural solid hardwoods. Our solid wood flooring features a no-wax surface that is available in a variety of traditional and exotic styles, colors and finishes.
There are no products matching the selection.


text: You are looking through Zazzle Australia's Abstract ties section where you can find many Abstract tie designs available for customization or ready to buy as is. There is no minimum order size and many neck ties designs can be customised with your own artwork, photos and text. To see some of the other products available on zazzle.com.au, check out our main abstract page. Most tie orders ship in 24 hours.


text:
Posted on 2/25/2014
Tim Jennings
Forsyth County Animal Control will hold a low-cost Rabies Vaccination Clinic on Saturday, March 1, 2014 for dogs, cats, and ferrets at the Animal Control Shelter from 1 pm until 4 pm. The cost to vaccinate each pet is $5.00.
Please have dogs on leashes and cats and ferrets in carriers. If you do not have a carrier, loaners are available. One and three year vaccinations will be available. You must bring proof of previous Rabies vaccination for 3-year shot (i.e. Rabies certificate) otherwise, your pet will receive a 1-year shot). Pets must be 3 months of age or older to receive the rabies vaccination. Forsyth County Animal Control is located at 5570 Sturmer Park Circle in Winston-Salem (just off University Parkway). $10 Vouchers for spaying/neutering will be available at the clinic for qualifying households.
For more information, call (336) 703-2480.
Rabies is a preventable disease of mammals most often transmitted through the bite of a rabid animal. That is because rabid animals have the disease in their saliva or drool. If rabies enters the body, it attacks the brain and spinal cord.
In North Carolina, raccoons are more likely to have rabies than any other animal. However, cats, dogs, foxes, skunks, and farm animals can also get rabies. Even humans can get rabies. Rabies kills if it is not prevented. Once signs of the disease appear in an animal or a human, they usually die within 10 days. But you can get anti-rabies shots to fight off the disease. Rabies shots need to be given as soon as possible after a bite has occurred, before symptoms appear. The vaccination consists of a series of six shots given over 30 days.
799 North Highland Avenue
Winston-Salem, NC 27102
(336) 703-3100
(336) 748-3292
Communicable Diseases
(336) 748-3644
Medical Records Information
(336) 727-8135
The mission of the Forsyth County Department of Public Health is to prevent disease
and promote a healthy community through regulation, education and partnerships.
Adopted by the Board of Health 10/2/13.
Copyright © 2016 Forsyth County | Contact the Webmaster | Site Map


text:
Wild Sports Florida Gators Tailgate Toss XL
Item # 19479066
|Eligible for Free Shipping on Orders $39 or More! (see promotion details)
|Members of The League get 5% back when you spend $100! (see promotion details)
Product Details
No pre-game party is complete without NCAA® Tailgate Toss from Wild Sports. This XL Platinum edition comes with 2 regulation-sized game boards featuring team logos, along with 8 XL bean bags in the team colors. Simply unfold the legs to set up the boards, divvy up the bean bags, and fight it out to see who's going to be king of the tailgate!
- 2 all-wood game boards with team logos
- Collapsing legs for easy storage
- 8 XL bean bags (2 sets of 4)
- Bean bags have heavy-duty duck cloth covers and are filled with poly resin and crushed river rock
- Officially licensed
- Board Dimensions: L 4' x W 2'
- Bean Bag Dimensions: L 6" x W 6"
- Bean Bag Weight: 16 oz


text:
Office Lamps & Desk Lamps
We are evolving with the office lighting methods and designs. We have a vast collection of office lamps for your work space. Office desk lamps are as essential to the design of your office as the work itself. Selecting one of our unique office lamps will improve the feel of your office as soon as you display it.


text:
Learn about the suite-wide enhancements in Office 2016 and Office 365, as well as program-specific new features in Word, Excel, PowerPoint, and Outlook.
Business Courses & Training
Explore a wide range of business skills from project management and negotiation to leadership skills and online marketing strategy. Our professional development tutorials can help you learn SEO, spreadsheets, word processing, and more.
Get a new Microsoft Office tip every Tuesday. Take a five-minute break to improve your productivity and efficiency.
Upgrading from Office 2007 to Office 2010? Get used to the new interface, and explore the latest features in Word, Excel, PowerPoint, and Outlook.
Upgrading from Office 2010 to Office 2013? Get used to the new interface and touch controls, and explore the latest features in Word, Excel, PowerPoint, and Outlook.
Learn best practices for using photos and videos in your PowerPoint presentations.
Upgrading from Office 2007 to Office 2013? Get used to the new interface and touch controls, and explore the new features in each of the major application: Word, Excel, PowerPoint, and Outlook.
Learn how to build a PowerPoint presentation that uses, but doesn't overuse, animations, transitions, and effects.
Build effective PowerPoint presentations from a strong outline.
Teaches the basics of creating, editing, and sharing presentations with PowerPoint 2013.
Take a look at suite-wide enhancements like cloud integration, Touch Mode, PDF editing, and Ribbon customization, as well as individual app improvements added to Office 2013.
Get the skills you need to create high-quality presentations.
Shows how to make the transition to PowerPoint for Mac 2011.
How to make the transition to PowerPoint 2010 from PowerPoint 2003.
Explores features in Microsoft PowerPoint 2010 such as photo editing, video integration, new themes, SmartArt, and more.
Explains the key differences between PowerPoint 2007 and PowerPoint 2003, and the benefits of upgrading.
Presents each of the new features in the latest edition of Microsoft's presentation software in the context of a real-world project.
"I went from not knowing how to turn on a computer to learning Outlook, Word, and some Excel. I ended up switching careers from a hands-on job requiring no technical knowledge to administration using Microsoft Office Suite. You were instrumental in helping me to attain that job. Thank you." —Sonya O.Try it free
more from our members »


text:
Events Calendar
Decisions for the Next President: The U.S., China and the Climate Crisis
This event is free and open to the public.
Date: Thursday, November 1st, 2012
Time: 7:30 pm
Location: Bush Memorial, Troy campus
Sponsored by: Sherman David Spector Lecture
Contact: Professor Steven Leibo | (518) 244-2330 | email@example.com
Steven Leibo, the Sherman David Spector professor in the humanities at The Sage Colleges, is a specialist on Asia-Western relations with a special focus on energy and climate issues.
Professor Steven Leibo, The Sage Colleges


text:
The 11th Founder Showcase event is today, Wednesday, July 25th in Mountain View, CA, and will feature Kevin Rose (Founder of Digg and Venture Partner at Google Ventures), Aaron Levie (Co-Founder & CEO of Box), and Hiten Shah (CEO of KISSmetrics) as speakers. We are expecting over 350 investors, founders, and press in attendance.
Get your tickets now before they sell out.
The Founder Showcase, hosted by the Founder Institute's Adeo Ressi, is a quarterly startup pitch and networking event that gathers over 350 top technology CEOs, investors, and seed-stage companies in Silicon Valley to hear talks from leading CEOs, and help launch a promising startup to greatness.
We are expecting over 350 startup founders, investors, and press in attendance, including over 100 investors. Confirmed investors attending include Charles River Ventures, Javelin Venture Partners, Trinity Ventures, Shasta Ventures, Alloy Ventures, Bee Partners, Blumberg Capital, BV Capital, CrunchFund, Draper Fisher Jurvetson, Google Ventures, Jafco Ventures, Lightspeed Venture Partners, Matrix Partners, Maven Ventures, Mohr Davidow Ventures, Norwest Venture Partners, Opus Capital, Right Side Capital Management, Shasta Ventures, and over 50 angel investors.
The 11th Founder Showcase will feature what is perhaps our best lineup of speakers ever;
Keynote Speakers
Kevin Rose, Venture Partner at Google Ventures
Kevin is a Venture Partner at Google Ventures, focusing on early-stage investments. Prior to joining Google Ventures, Kevin co-founded Milk, a mobile application development company in San Francisco. Previously Kevin was the founder of Digg, and co-founder of Revision3 and Pownce (now Six Apart). He has also been named on Bloomberg's list of "Top 25 Angel Investors," Time's and BusinessWeek's lists of "Top 25 Most Influential People on the Web," and MIT's list of "Top 35 Innovators under 35."
Aaron Levie, Co-Founder & CEO of Box
Aaron Levie is the CEO and co-founder of Box, which he originally created as a college business project with the goal of helping people easily access their information from any location. Box was launched from Aaron's dorm room in 2005 with the help of CFO Dylan Smith, and since then the company has raised nearly $160 million in venture capital, and has secured more than 8 million customers using its secure cloud content management and collaboration tools.
Hiten Shah, CEO of KISSmetrics
Hiten started on the Internet by founding a Internet marketing consultancy, ACS. He then went on to create Crazy Egg, an analytics tool that visualizes the user experience on a website. Now with KISSmetrics he is building a data driven solution to help online businesses make better business decisions. Hiten is passionate about helping other entrepreneurs and startup people.
Investor Judges
George Zachary, General Partner at Charles River Ventures
George Zachary joined CRV in 2004, bringing more than 17 years of operating and investing experience in computing and consumer technology. Zachary focuses on building services and software technology companies, and he's led CRV's investments in Twitter, Yammer, Millennial Media, Cloudshare, Geni, SocialMedia, Metaplace, and Scribd (co-led with Bill Tai).
Jed Katz, Managing Director at Javelin Venture Partners
One of the pioneers of Internet commerce, Jed has spent his 18-year career developing, advising and investing in early stage tech ventures. Jed also served on the Technology, Telecom & Media advisory group for President Barack Obama's campaign. Prior to Javelin, Jed was a MD of DFJ Gotham Ventures, where he was selected in the "Silicon Alley 100."
James Cham, Principal at Trinity Ventures
James joined Trinity in 2010, with over 5 years of investing experience in consumer services, enterprise software and digital media companies as a VP at Bessemer Venture Partners. While at Bessemer, James was a board member at CrowdFlower and Open Candy, and observer at LifeLock, ReputationDefender, and BillShrink.
Rob Coneybeer, Managing Director at Shasta Ventures
Rob is a Co-founder and Managing Director of Shasta Ventures. Rob is particularly interested in Mobile & Wireless, Technology Applications, and Infrastructure. Prior to Shasta, he was a partner at New Enterprise Associates, where he led 15 investments. He also helped build the first EchoStar spacecraft at Martin Marietta.
Featured Journalists
Liz Gannes, Senior Editor at All Things Digital
Liz Gannes has been a Silicon Valley-based business technology reporter since 2004, where she started her career as a reporter at Red Herring. She was the second employee at the technology blog network GigaOM, where she covered the rise of the social Web. Follow her on Twitter at @LizGannes.
Michael Copeland, Senior Editor at Wired
Michael Copeland is a Senior Editor at WIRED focused on entrepreneurship, venture capital, and emerging products and technologies. Before WIRED, he was a Senior Writer at Fortune, Business 2.0, and Red Herring. Follow him on Twitter at @MVC.
Farhad Manjoo, Writer at Slate, Fast Company, NYT
Farhad is currently a technology columnist at Slate Magazine, and contributing writer to Fast Company, The New York Times, PandoDaily, and more. He is also the author of True Enough: Learning to Live in a Post-fact Society. Follow him on Twitter at @fmanjoo.
In addition, there will be an entertaining pitch competition, and appetizers and drinks served in a networking hall filled with other hot startups demoing their wares.
We hope to see you there! Get your tickets today before they sell out.


text:
GreatSchools Rating
The GreatSchools rating is a simple tool for parents to compare schools based on test scores, student academic growth, and college readiness. It compares schools across the state, where the highest rated schools in the state are designated as "Above Average" and the lowest "Below Average." It is designed to be a starting point to help parents make baseline comparisons. We always advise parents to visit the school and consider other information on school performance and programs, as well as consider their child's and family's needs as part of the school selection process.
Rating Breakdown
|Test score rating
|The test score rating examines how students at this school performed on standardized tests compared with other schools in the state. This rating is based on 2012-13 DC CAS results from the DC Office of the State Superintendent of Education (OSSE).
|Student growth rating
|The student growth rating measures whether students at this school are making academic progress over time. Specifically, the rating looks at how much progress individual students have made on reading and math assessments during the past year or more. This rating is based on 2012-13 Median Growth Percentiles in math and reading from the DC Office of the State Superintendent of Education (OSSE).
MethodologyView more details about the GreatSchools rating
State Rating - OSSE Classification
The DC school classification system includes multiple measures to evaluate performance and student growth. The possible classifications, from highest to lowest, are Reward, Rising, Developing, Focus and Priority. These measures include the DC CAS, annual growth, graduation rates, attendance rates and participation rates. Under the system, required under the Elementary and Secondary Education Act (ESEA), each school is given a School Index Score based on the performance of its students. Schools receive different levels of support, resources, flexibility and monitoring based on their classification.
MethodologyView more details about the State rating
PCSB Performance Management Framework (PMF) Rating
The DC Public Charter School Board (PCSB) provides school performance reports as a way to share how PCSB evaluates each public charter school. Although each charter school is unique, PCSB's Performance Management Framework (PMF) enables the board to look at school performance across common measures. Using a 100-point scale and based on the total scores for the academic scoring screen, standard schools are identified as Tier 1 (high-performing), Tier 2 (mid-performing) or Tier 3 (low-performing).
MethodologyView more details about the State rating
The bar charts below tell what percentage of students are performing at or above grade-level.
District of Columbia Comprehensive Assessment System (DC CAS)
Showing results for all students
About the test
Source: Office of the State Superintendent of Education


text:
Posted on 10/1/2012
Jazmine Kilpatrick
Join in the fun at Tanglewood Park's first annual Festival of Lights Golf Tournament!
The Tournament will be held on the Festival of Lights' opening night—Saturday, November 17, 2012. Lunch will be served at 11:00 am then there is a 12:00 noon shotgun start on the Championship Course with awards immediately following play.
The event is open to men and women who will be competing as two-man teams in a best ball format. There will be prizes for net and gross winners. Each contestant will be given a one-time-use weekday ticket for the 2012 Festival of Lights!
Find a friend and sign up today!
4201 Manor House Circle
Clemmons, NC 27012
(336) 703-6400
Mailing Address
4061 Clemmons Road
Clemmons, NC 27012
Tanglewood Dog Park Status Line:
Copyright © 2016 Forsyth County | Contact the Webmaster | Site Map


text:
UPS Shipping:
This product can be shipped with any of the standard UPS delivery options at UPS rates. Oh! Nuts does not
charge a handling fee for bulk items.
For an estimated shipping quote, please enter your zip code above.
Local Shipping:
If your destination qualifies, your order will be delivered via a local delivery service. Local deliveries
are subject to a flat fee of $10.00. See below for a list of zip codes
qualifying for local delivery.


text:
Enlarge / Alternate Images
Giovanni Wellness System with Chinese Herbs ShampooContains the same active base of 5 holistic Chinese botanicals and enhanced with a powerful additional herbal infusion to address a specific hair or scalp need. Infused with the antioxidant ginsenosides from panax ginseng and mulberry in a sulfate and paraben free formulation, delivering a powerful tonic to relax and moisturize hair and scalp. Results in increased circulation to hair follicles, promoting healthy hair growth.Ingredients: Aqua (purified water), *aloe barbadensis (aloe vera) leaf juice, *sesamum indicum (sesame) seed extract [hei zhi ma], emblica officinalis fruit extract [an mole], *eclipta prostrata extract [mo han lion], sopindus mukorossi fruit extract [wu huan zi], *bacopa moniera extract [jia ma chi xian], morus alba (mulberrry) fruit extract, panax ginseng (ginsenosides) root extract, serenoa serrulata (saw palmetto) fruit extract, chamomilla recutita (matricaria) flower extract, urtica dioica (nettle) extract, camellia sinensis (green tea) leaf extract, mentha piperita (peppermint) oil, helianthus annuus (sunflower) seed oil, cocamidopropyl betaine, sodium cocoamphoacetate, lauryl glucoside, decyl glucoside, sodium lauroyl sarcosinate, sodium cocoyl isethionate, hydroxypropyl guar, panthenol (pro vitamin B5), glycerin, menthol, mehtyl lactate, potassium sorbate, phenoxyethanol, citric acid.*Certified Organic.
The Occupational Safety and Health Administration requires that MSDS be available to employees for potentially harmful substances handled in the workplace under the Hazard Communication regulation.
Giovanni Welness System Chinese Herbs Shampoo
Documents Available
Giovanni Welness System Chinese Herbs Shampoo


text:
Pick your favorite MLB™ team and color, and make this heavy-duty duvet cover and pillowcase your very own.
Mix + match our bedding to create your own unique look with our Design Your Own Bed Tool.
Major League Baseball trademarks and copyrights are used with the permission of Major League Baseball Properties, Inc. Visit MLB.com.


text:
Silicon Valley grad, Udemy, an online education portal that features thousands of courses taught by experts all over the world, recently launched a new iPad app, taking it's nearly 5,000 courses mobile. With increased access to Udemy's diverse selection of content, the platform's 350,000+ users can now utilize their iPads for higher education and professional development while on the go or during their leisure time.
Think twice next time you pick up the iPad to play a game or suft the web; instead visit the Apple itunes store and download Udemy's new app to start learning. The site offers both free and paid courses on subjects ranging from entrepreneurship to vegan cooking. Click here to get started today.
"The future of learning is mobile and the iPad is the perfect lifelong learning device," Eren Bali, CEO and co-founder of Udemy, said in a statement. "Udemy students are extremely active and want access to learning regardless of time or location. The app builds on Udemy's promise of connecting students with the world's experts by turning idle time into a learning opportunity."
Features of the app include:
- Watch on the go: Access to all video and audio lectures, presentations, and any other course materials right from the app.
- View offline: Save courses and watch them wherever you go. Learning is no longer confined to the classroom or students' desktop computers.
- Engage from anywhere: Ask questions or start a conversation with instructors and other students while working within the app.
- Discover new courses: Enroll in any course from Udemy's entire course catalog of more than 5,000 courses published by experts from around the world.
Click here to download the app and for more info, read the full story on VentureBeat.


text:
A White House official reports that Health and Human Services Secretary Kathleen Sebelius will resign from her post.
The news follows a rocky rollout for the President's healthcare program and the recent enrollment deadline. Find out more about this story by watching the video below. (Video may not display on some mobile devices)
What are your thoughts CLICK HERE to leave us a "QUESTION OF THE DAY" comment.
TextCaster alerts from 21Alive.com are your defining source for instant information delivered right to your cell phone and email. It's free, easy and instant. Sign-Up Now!
Powered by Summit City Chevrolet
© Copyright 2015, A Granite Broadcasting Station. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.


text:
This is a great old classic that's simple and lots of fun for all ages. Children love to make things that can be used in their home or given as gifts! This kit has a metal (not plastic!) loom and colorful 100% cotton loops. These are machine washable and dryable. This kit has enough loops to make TWO potholders.
This kit has 2 hooks (one metal for weaving, one plastic for finishing) and illustrated instructions. And the loops are custom-sized to fit the loom. Every loop fits! Made by Harrisville in the USA. Recommended for ages 6+.
See product listed below to add a large bag of extra cotton loops - enough to make 8 more potholders. They make great gifts!


text:
Your Account
Sign In
Join Now
Bare Traps shoes represent the best in casual looks with true value. Bare Traps sandals and boots are created with care, to fit your life comfortably and stylishly.
shop women
*By entering my email address, I certify that the information I am providing is accurate and that I am at least 18 years of age.
© 2016 Caleres, Inc.


text:
The Power of Independent Thinking
Is the War on Terror Creating Terrorism?
Recorded: Tuesday, April 15, 2008
Part 1 |
Part 2
Part 3
Part 4
Is it possible that the U.S. governments response to the 9/11 attacks has served al-Qaeda interests? Despite the hype, U.S. law-enforcement officials have found little evidence of serious terrorist activities inside the country, compelling them to escalate their use of prosecution and entrapment to justify their enormous budgets.
Experts: Ivan Eland, Ian S. Lustick, D. Gareth PorterType: Independent Institute EventIssues: Civil Liberties/ Human Rights, Defense and Foreign Policy, Diplomacy and Foreign Aid, History (International), Terrorism and National Crises
The New International Arms Race in SpaceAnd How to Avoid It
Recorded: Friday, March 7, 2008
Part 1 |
Part 2
Part 3
Part 4
Part 5
Part 6
Did the United States test an anti-satellite weapon when it shot down an out-of-control spy satellite earlier this month? Or was it a precautionary measure to protect people on the ground who might have been hit with a fuel tank filled with a poisonous gas?
Experts: Peter L. Hays, Theresa Hitchens, Jeff Kueter, Mike MooreType: Independent Institute EventIssues: Defense and Foreign Policy, Diplomacy and Foreign Aid, Government Secrecy, History (International), History (U.S), Science, Technology


text:
Sorry but this item is currently unavailable.
Please check back at a later stage.
Label: Maxine Hats
Color: Black
Fabric: Velvet, Satin, Netting
Please remember when buying authentic vintage clothing, it is indeed vintage! Not new from the shopping department store, it is a garment or accessory that is from 20 to over 100 years old, therefore it may show signs of wear. Learn how we measure each piece so you can be sure that it will fit. Here at Sydney's we strive to describe each piece thoroughly, please ask any and all questions before purchasing through email, Facebook or Twitter. See "Before you Purchase" tab below.
Sydneys Vintage Clothing offers varieties of Victorian, Edwardian, 30's 40's era, 50's, 60's, and 70's, 80's clothing decades. You will find vintage dresses, hats, purses, shoes, mens, all in this online clothing store. Shop today and wear designer fashion clothes at cheap affordable prices.
Vintage Fashion Hints... In order to better serve you, my customer, let me guide you. The following are different items within my store that have different styles of fashion. Some are from the Victorian, Edwardian, Antique Clothing, 30's 40's era, 50's 60's clothing, 70's 80's clothing, and costume jewelry, wedding dresses. You will find mens vintage clothing. You can fill up your shopping cart from this online vintage clothing store.Let's start with 50's Mexican embroidered a great choice at a terrific price. Check this Sequin for Formal Evening Gown, it just might be the one for you. Maybe your shopping for her, she loves lace, then here is a Cocktail Prom Dress Audrey Hepburn that you will absolutely have to grab! Let's say that your taste is more of the rockabilly vintage style dresses or a 50s evening dresses.
Add a Pucci era or 60s fur coat. For the hippie generation, leather suede clog shoes or 60s handbag purse . (I have retro clothing also!) Let's not forget about that man in your life, great 70's clothing Disco shirt. Get him a denim blazer jacket and pants. From the separates department. He would love for you to get a vintage nightgown. Now I carry dress sewing patterns. If you are in to voting for a favorite online store, here is your chance to vote for me. Top SitesVote for me top 100 clothing.
Online since 2004 and local Auburn business since 2008 selling both men & women not reproduction style but authentic from decades ago. Wearable for every day, theater, costume or dance. We offer the quality that you would expect to find in Paris France New York Hollywood California Chicago London. I ship Worldwide (overnight available)! You can order online 24 hours a day, or order by phone (334)728-5906, 9:00 AM - 11:00 PM CST., Monday - Saturday. Learn more on How to Purchase . For more fabulous designer vintage clothing shop 169 S. Gay Street, Auburn, AL. All inquiries via Email Me . Click here for Return Policy.
This product hasn't received any reviews yet. Be the first to review this product!