text:
|Operating Systems Development Series
This series is intended to demonstrate and teach operating system development from the ground up.
IntroductionWelcome! In this tutorial we will be looking at managing one of our most important resources within a computer system: Physical Memory. We will be looking at how to get memory information, some more BIOS interrupts, memory manager concepts, and the design and implimentation for our complete physical memory manager. This is one of those things that no one likes to do--but in the end it makes things much easier to work with. With that in mind, lets take a look at the list for this tutorial:
Memory: A deeper lookRather then jumping directly into memory management, I want to take a different approch here. That is, How can we even understand what memory management is about without even understanding what memory itself is? That is, we should know what is it that we are trying to manage, right? Because of this, we will first look at what physical memory is first. You know... Those little RAM chips inside of your computer? :) Here we go...!
Physical Memory
Physical Memory: AbstractPhysical Memory is an abstract block of memory stored within the computers Random Access Memory (RAM). The way physical memory is "stored" within the RAM depends on the type of RAM the system uses. For example, Dynamic Random Access Memory (DRAM) stores each bit of data in its own capacitor that must be refreshed periodically. A capacitor is an electronic device that stores a current for a limited time. This allows it to either store a current (a binary 1), or no current (a binary 0). This is how DRAM chips store individual bits of data in a computer. Most of the time, the memory types (RAM, SRAM, DRAM, etc.) require a specific type of Memory Controller to interface with the processor and System Bus. The Memory Controller provides a way of reading and writing memory locations through software. The Memory Controller is also responsible for the constant refreshing of the RAM chips to insure they retain their information. Memory Controllers contain Multiplexer and Demultiplexer circuits to select the exact RAM chip, and location that refrences the address in the Address Bus. This allows the processor to refrence a specific memory location by sending the memory address through the address bus. ...This is where the software come in, as they tell the processor what memory address to read :) The Memory Controller selects the location within the RAM chip in a sequence manner. This means, if we access a physical memory location greater then the total amount of memory in the system, nothing will happen. That is, you can write a value to that memory location and read it back--you will get whatever left over data on the data bus. It is possible for memory holes to appear in the Physical Address Space. This can happen if, for example, a RAM chip is in slots 1 and 3, with no RAM chip in slot 2. This means that there is an area of memory between the last byte stored in the RAM at slot 1 and the first byte-1 in slot 3 that does not exist. Reading or writing to these locations have almost the same effect when reading or writing beyond memory. If this nonexistant memory location has been remapped by the memory controller, you may be reading or writing to a different part of memory. If the memory has not been remapped (Which most of memory is not), Reading or writing to a memory location that does not exist does nothing at all. That is, writing to the non existant memory location will not write anything anywhere, reading from a non existant memory location reads whatever garbage was left over on the data bus. Knowing that writing a value to a non existant location and reading it back will NOT yeld the same value, methods have come up of manually parsing memory via pointers to determin what areas of memory are good or not. However, doing this can be dangerous as we will look at later. Well, Thats all for what physical memory really is. Knowing how memory stores each bit you can probably start seeing where the bytes, words, dword, qwords, tbytes, etc.. start to come in. The most important of these are the byte, as that is the smallest data that the processor can access. But how does the processor know where a byte is located in memory? This is where the Physical Address Space comes in. Lets take a look :)
Physical Address Space (PAS)This is the address space used by the processor (and translated by the memory controller) to refer to an 8 bit peice of data (ie, a byte) stored in physical memory (RAM). A Memory Address is just a number selected by the Memory Controller for a byte of data. For example, memory address 0 can refer to the first 8 bits of physical memory, memory address 1 can refer to the next 8 bits, and so on. The Physical Address Space is the array of these memory addresses and the actual memory that the memory addresses refer to. The physical address space is accessed by the processor through the systems address bus (Remember this from Chapter 7?) Okay, so lessee... the processor now can use an address to refer to a byte of memory. It useually starts from address 0, and increments for each byte in memory. Thats as simple as it can get! But, it still doesnt describe how the software can access memory. Sure, the processor itself now has a way of refrencing memory, but the software does not. The processor, depending on its needs, need to provide specific ways for software to provide software a way to refrence memory. Wait, what? Thats right... different ways of addressing and accessing memory...
Addressing ModesThe Addressing Mode is an abstraction made by the processor to manage how the software accesses the Physical Address Space. This useually allows the software to set up the processors' registers so the processor knows how to refrence memory. We have already seen two: segment:offset memory addressing and descriptor:offset memory addressing. This is the interface given by the processor for the software to allow a way to access memory. We have covered the segment:offset addressing mode in Chapter 4 and the descriptor:offset memory addressing mode in Chapter 8.
How Memory Works: DetailOkay, now lets look at memory in a new way. We have already covered alot of details on what memory is, address space and addressing modes. Now, lets put everything together, shall we? Alot of the information in this section is not needed, but I decided to include it for completness sake. Don't worry to much if you do not understand everything here. In Chapter 7, we have looked at a basic overview of a computer system and system architecture. We have talked about how the processor's system bus connects to the memory controller which is used to provide the system a way to control physical RAM. Kind of like this:
Physical Memory ManagersAs you may know, managing memory is critically important. All of our data and code share the same physical address space. If we attempt to load and work with more data or programs, we will need to some how find a way of managing memory to allow this. At this stage, our kernel has full control of all of the hardware and memory in your computer. This is great but bad at the same time. We have no way of knowing what areas of memory are currently in use nor what areas are free. Because of this, there is no real way of working with memory without the possibility of problems: program corruption, data corruption, no way of knowing how memory is mapped, triple faults or other exception errors, etc... The results may be unpredictable. Because of this, effectivly managing physical memory is very important. Lets look closer!
Detecting Memory
AbstractThe first thing we need to do is abtain the amount of RAM inside of the computer system. There are alot of different ways to do this. Some methods may work on some systems while others may not. Getting the amount of memory can be very system dependent. More specifically, motherboard chipset dependent. During initialization, the BIOS abtains memory information from the memory controller and configures the chipset to work with the detected memory. Because of this, Operating systems need to go through the system BIOS to abtain this information. But Wait! I thought we were not able to use the Bios in protected mode!? Thats right...we can't. Instead we must get this information some other way... The bootloader, perhaps? I should point out that there is indeed other methods that we can do to abtain the amount of memory within the system. For example, the CMOS, PnP, and SMBios. However the only way to guarantee that you get the correct amount is from the device that configuares it: The BIOS. The last thing to note here is that all PCs are required to have a memory region just below the 4 GB mark for use by additional possible devices (Memory mapped hardware or the BIOS ROM). We will look at how to get around this a little later, don't worry :) "Low Memory", otherwise known as Conventional Memory is memory below the 1MB mark. Memory above 1MB is known as Extended Memory. With all of that in mind, lets take a look at some nice Bios interrupts to help us out...
Bios: Getting Memory SizeAll of the following routines can be found in memory.inc in the demo at the end of this tutorial inside of the 2nd stage boot loader.
BIOS INT 0x12 - Get Memory Size (Conventional Memory) ReturnCF = Clear if successful
AX = Number of KB conventional memory
AH = status if error (0x80: Invalid command; 0x86) Unsupported function This is quite possible the easiest method. This interrupt returns the value found in the BIOS data area (The word at physical address 0x413). Because it returns a WORD sized value, it is limited to 0xFFFF (65535 decimal). That is, it will only detect memory below 64KB. Because of this, on systems with more then 64KB of memory, it will not return the correct size. Thus, I will not be using this method. While this method may not return the complete memory size, it is quite possibly the only one guranteed to work on almost all, if not all, PCs.
BIOS INT 0x15 Function 0x88 - Get Extended Memory SizeReturn CF = Clear if successful
AX = Number of contiguous KB starting at 1MB physical address
AH = status if error (0x80: Invalid command; 0x86) Unsupported function This interrupt returns the amount of KB extended memory in AX. Because it uses 16 bit registers, it is limited to returning 64MB, or 0xFFFFF (65535). On some versions of Windows, this function may return 15MB instead.
BIOS INT 0x15 Function 0xE881 - Get Memory Size For > 64 MB Configuations (32 Bit)Return CF = Clear if successful
EAX = Extended memory between 1MB and 16MB in KB
EBX = Extended memory above 16MB, in 64KB blocks
ECX = Configured memory 1MB to 16MB in KB
EDX = Configured memory above 16MB in 64JB blocks
This interrupt is exactally like INT 0x15 Function 0xE801 except it uses the extended registers (EAX/EBX/ECX/EDX).
BIOS INT 0x15 Function 0xE801 - Get Memory Size For > 64 MB ConfiguationsReturn CF = Clear if successful
EAX = Extended memory between 1MB and 16MB in KB
EBX = Extended memory above 16MB, in 64KB blocks
ECX = Configured memory 1MB to 16MB in KB
EDX = Configured memory above 16MB in 64JB blocks
This is the method that I tend to use. This interrupt is used by both Windows NT and Linux during boot up to detect memory size if INT 0x15 function 0xe820 is not supported (Get System Memory Map). We will look at that later. This method has been around since around 1994 so older systems may not support this method. The "Extended Memory" and "Configured Memory" values are almost always the same. Some BIOSs may store the results in either EAX and EBX or ECX and EDX. In other words, some BIOS may use EAX and EBX but leave ECX and EDX alone. Other BIOSs may do the exact opposite. Yey for standards! :) Uh, okay...Sorry ;) The typical way of using this method is to null out all of the general-purpose registers first before calling the BIOS. This way, after the BIOS call, we can test if a register is null or not so we know what pair of registers to use: EAX/EBX or ECX/EDX:
Notice what this routine returns. In order for us to get the amount of KB in the system, we need to do some math. EBX contains the number of 64KB blocks of memory. If we multiply this by 64, we effectivly convert the value in EBX into the amount of KB above 16MB. Afterwords, simply add this number to the number returned in EAX to get the amount of KB above 1MB. Knowing there is 1024 KB in a one megabyte, add 1024 to this number and we now have the total amount of KB in the system!
Manually Probing MemoryManually probing memory means to manually detect memory from a pointer by directly accessing memory. While it is possible that doing this may detect all of memory, it is also the most dangerous. Remember that there may be devices that we may or may not know of that uses regions of memory for different things. There may also be memory mapped devices, the ROM BIOS, and other devices that use memory. We also have not taken into account memory holes within the physical address space. To directly probe memory comes from the fact that reading or writing to nonexistant memory does nothing. That is, if you write to a physical memory address that does not exist, you will not get an error. However, if you attempt to read from that same location again, the value that you get back may be completely random garbage--whatever was left on the data bus. Thus to probe memory, just go into a loop for every 1k (or so) of memory. Use a pointer to read and write to a memory location. Continue incrementing the pointer (Hence reading from another location in memory) until the value read from the pointer containes an invalid value. I might create a little demo code for this method, but we would probably never use it do to its many problems. I decided to include this method as it is a method to detect memory, although it is the most unsafe method to use and can cause unpredictable results. Use at your own risk!
Getting the Memory MapYippie! Now we have gotten the amount of memory in the system. But Wait! Not all of this memory is available to us, remember? This is where a Memory Map comes in. A memory map defines what regions of memory are used for what. Using this, we can also abtain what regions that are safe for us to use.
BIOS INT 0x15 Function 0xE820 - Get Memory MapInput EAX = 0x0000E820
EBX = continuation value or 0 to start at beginning of map
ECX = size of buffer for result (Must be >= 20 bytes)
EDX = 0x534D4150h ('SMAP')
ES:DI = Buffer for result Return CF = clear if successful
EAX = 0x534D4150h ('SMAP')
EBX = offset of next entry to copy from or 0 if done
ECX = actual length returned in bytes
ES:DI = buffer filled
If error, AH containes error code Address Range Descriptor The buffer used by this interrupt as an array of descriptors that follow the following format:
Types of Address Ranges
The types of address ranges defined for this function is shown below:
Multiboot SpecificationI do not plan on covering the multiboot specification too soon. Mabey in the future, but not now. However, we need a way to pass the information that we abtained from the BIOS inside of our bootloader to our Kernel. We can do this any way that we want. Because the multiboot specification defines a standard boot time information structure, and I dont know if we will fully support the multiboot standard, I decided why not use the same structure? Also, if you decide to use another boot loader (Such as GRUB), we can have it boot our kernel as well. Anyways, the entire specification itself is rather large, so covering it in a tutorial about memory management is not a good idea ;) Thus, I will cover just enough so we can use it to pass the information that we need, sound cool?
AbstractThe Multiboot specification is a list of standards used to describe standards for boot loaders for loading and executing operating system kernels. This specification makes it easier to boot multiple operating systems because the specification describes a standard state that the machine must be in before the operating system takes control. This also includes how and what information is passed from the bootloader to the kernel. I will not be covering the complete multiboot specification right now. However, we will be looking at what the machine state must be in when the kernel is executed. We will also be looking a little bit at the Multiboot information structure which containes the information passed from the boot loader to the kernel. We will also be using this structure to pass our bootloader memory information using this structure as well.
Machine StateThe Multiboot specification states that, when we invoke a 32 bit operating system (That is, execute our kernel), the machine registers must be set to a specific state. More specifically: When we execute our kernel, set up the registers to the following values:
Multiboot Information StructureThis is possibly one of the most important structures contained in the multiboot specification. The information in this structure is passed to the kernel from the EBX register, This allows a standard way for the boot loader to pass information to the kernel. This is a fairly big structure but isnt to bad. Not all of these members are required. The specification states that the operating system must use the flags member to determin what members in the structure exist and what do not.
Alot of information in this structure! Most of this does not apply to use, so we will only focus on a few. memLo and memHi containes the amount of memory we detected from the BIOS. mmap_length and mmap_addr will point to the memory map that we abtained from the BIOS. Thats it! Now we have a nice way of passing our memory information (And mabey more ;) ) to the kernel:
...And inside of our kernel:
The kernels multiboot_info structure is the same one shown above but in C. Thanks to this setup, all the kernel needs to do is access the memory information (And any information passed from the bootloader) through bootinfo. Cool, huh? Now that we got the memory information from the Bios and passed it to the kernel, the kernel can use it for its physical memory manager. Thats right...Its finally time to develop a physical memory manager!
Physical Memory ManagementWe have covered alot already, don't you think? We have looked at how to abtain memory information from the BIOS and using the multiboot information structure to pass this information to the kernel. This allows the kernel to be able to retrieve this memory information anytime it wants. Yet, we have yet to cover the most important topic: Managing this memory. Lets look closer...
Memory Management: AbstractOkay, so we know we need a way to manage memory. To do this, we--of course--need a way of keeping track of how memory is being used. Doing this for every byte in memory is simply not possible: How can we store information about every byte in memory without running out of memory? Because of this, we need to come up with another way. What we need to insure is that, whatever data structure we use to manage the rest of memory, is smaller then the total size of memory. For example, we can use an array of bytes, for example. Every byte can store information about a larger block of memory. This is the only way we can insure we do not run out of memory. The size of a "block" of memory must be a feasable and efficiant size. Using this method, we can split up the physical address space into "block" sized chunks. When we allocate memory, we do not allocate bytes. Rather, we allocate blocks of memory. This is what a physical memory manager does. The purpose of a physical memory manager is to split up the computers physical address space into block-sized chunks of memory and provide a method to allocate and release them. On the x86 architecture, when paging is enabled, each page represents a 4KB block of memory. Because of this, to keep things simple, each memory block for our physical memory manager will also be 4KB in size.
Setting upAllright...We know that a physical memory manager is important. We also know that the physical memory manager needs to split up the physical address space and keep track of what memory blocks are being used or available. But wait! We immediately run into a problem: The kernel needs an area of memory for managing memory. How can we allocate an area of memory before we can allocate memory? We cant. Because of this, the only method that we have is using a pointer to a location in memory. Think of this location as simply some more reserved memory, simular to the BIOS, Bios Data Area (BDA) and the kernel itself. We want to stick this somewhere in reserved memory, so how about at the end of the kernel? Afterwords, we can mark this region (along with the kernel itself) as reserved within the data structure to insure nothing touches it. Great! Now that we have a pointer to some location in memory, we can store the information needed to keep track of each block in memory. But...how? That is, all we have is a pointer. The data this pointer points to must be in some useable structure so that we can use the area of memory effectivly. How can we create a structure to manage all of physical memory? There are two common solutions to this: Stack or a bit map.
Stack based allocation
Bit map based allocationThis is the simplest to impliment. All our physical memory manager needs to know is if a block of memory is allocated or not. If it is allocated, we can use a binary bit 1. If it is not, a binary bit 0. In other words, for every block in memory, we use a single bit to represent if it has been allocated or not. This is the method that we will be using. However, the physical memory manager is designed in a way to allow other methods (Like the stack-based approch) if we decide too switch. ;) The bit map approach is very efficiant in size. Because each bit represents a block of memory, a single 32 bits using this bit map approach represents 32 blocks. Because 32 bits is 4 bytes, this means we can watch--out of 32 blocks of memory--using only 4 bytes of memory. This approach is a bit slower though as it requires searching the bit map for a free block (The first bit that is 0) every time we want to allocate a block of memory.
Developing a Physical Memory Manager (PMM)In the upcoming demo code, the entire physical memory manager can be found in mmngr_phys.h and mmngr_phys.cpp. It may also help to study the updated 2nd stage boot loader to see how the memory information is passed from the boot loader to the kernel, and how the kernel initializes the PMM.
Globals and ConstantsI never like "magic numbers" as you may have noticed ;) This is why I tend to hide all of these numbers behind more readable constants.
These are just to help with the readability of the code. The PMM creates an abstraction known as a Memory Block. A Memory Block is 4096 bytes in size (4K). This is important as it is also the size of a page when we enable paging. There are also several globals defined for keeping track of everything.
The most important of these is _mmngr_memory_map. This is a pointer to the bit map structure that we use to keep track of all of physical memory. _mmngr_max_blocks containes the amount of memory blocks available. This is the size of physical memory (Retrieved from the BIOS from the boot loader) divide by PMMNGR_BLOCK_SIZE. This essentally divides the physical address space into memory blocks (Remember this from before?) _mmngr_used_blocks containes the amount of blocks currently in use, _mmngr_memory_size is for refrence only--it containes the amount of physical memory in KB.
Memory Bit MapOkay then! _mmngr_memory_map is a pointer to an uint32_t...right? Well, of course... sort of. Rather, we should think of it as "a pointer to a series of bits" as that is the way we treat it. Each bit is a 0 if that block has not been allocated (Useable) or a 1 if it is reserved (In use). The number of bits in this array is _mmngr_max_blocks. In other words, each bit represents a single memory block, which in turn, is 4KB of physical memory. Knowing this, all we need to do with the bit map is be able to set a bit, unset a bit, and test if a bit is set. Lets take a look... mmap_set () - Sets a bit in the bit map
What we want to do is provide a way so that we can think of the memory map as an array of bits rather then an array of ints. This is not to hard:
The bit is a value from 0...x, where x is the bit that we want to set in the memory map. We divide the bit by 32 to get the integer index in _mmngr_memory_map that the bit is in. To use this routine, simply call it passing in the bit that you want to set. You are not limited to 32 bits: mmp_set(62) sets the 62nd bit in the memory map bit array. mmap_unset () - Unsets a bit in the bit map
This is very simular to the above routine but clears the bit instead:
mmap_test () - Test if a bit is set
This routine simply returns true if a bit is 1 or false if it is 0. It is very simular to the above routine, but instead of setting the bit we use it as a mask and return its value:
Thats all too it! Now that we have a way to set, unset, and test bits inside of the bit map, we need a way of searching through the bit map for free bits. These will be used so we can find free memory blocks that we can use. mmap_first_free () - Returns index of first free bit in bit map This routine is a little complex. We have a way to set, clear, and test a bit in the memory bit map. Lets say that we want to allocate a block of memory. How do we find a free block of memory? Thanks to our bit map, all we need to do is traverse the bit map for a bit that is not set. This isnt to complex:
pmmngr_get_block_count() returns the maximum number of memory blocks in this system (Remember this is also the number of bits in the bit array?) We divide this by 32 (32 bits per dword) to get the amount of integers in ths bit map. In other words: The outmost loop simply loops through each integer in the array. We then test to see if the dword is all set. We loop this in dwords rather then bits because it is much more efficiant and faster. We test it by insuring its not 0xffffffff. If it is, go on to the next dword. If it is not, then a bit must be clear. Afterwords we simply go through each bit in that dword to find the free bit and returns its physical frame address. The physical memory manager includes another version of this routine-- mmap_first_free_s() that returns the index of the first free series of frames of a specific size. This allows us to insure a certain region of memory blocks are free rather then a single block. This routine is a little tricky I admit; if any of our readers do not understand the code I would be glad to describe it in more detail in this tutorial.
Physical Memory AllocaterWe now have a way of managing memory. Wait, what? Thats right. The way this works is to remember that each bit in the bit map represents 4KB of physical memory. If we want to allocate the first memory block (The first 4k) just set bit 0. If you want to allocate the second 4k, just set bit 1. This continues to the end of memory. This provides a way for us to not only work in 4k blocks of memory, but also to know what memory is currently in use or reserved (The bit is 1) or free for use (Bit 0). All of this provided by the three simple routines above and our bit map array. Cool, huh? Now we just need the actual allocation and deallocation routines. Before that, however, we need to initialize the bit map regions to that of the BIOS memory map. And even before THAT, we need to provide a way so the kernel can provide some information for our physical memory manager to use. Lets take a look... pmmngr_init () - Initialize the physical memory manager This routine is called by the kernel to initialize the physical memory manager (PMM). memSize is the maximum amount of memory the PMM is allowed to access. This should be the size of RAM in KB passed to the kernel from the bootloader. bitmap is the location that the PMM will use for its memory bit map structure. Another important thing to note is how we set all the bits in the memory bit map using a memset() call. There is a reason for this which will be looked at very soon.
pmmngr_init_region () - Initializes a region of memory for use Remember the memory map? We do not know what areas of memory are safe to work with, only the kernel does. Because of this, by default all of memory is in use. The kernel abtains the memory map from the kernel and uses this routine to initialize available regions of memory that we can use. The routine is very simple. It just finds out how much memory blocks to set and loops--clearing the appropariate bits in the memory bit map. This allows the allocation routines to use these now free areas of memory again:
Notice the call to mmap_set() at the end. In our PMM, the first memory block block will always be set. This insures us that the PMM can return null pointers for allocation errors. This also insures that any data structures defined within the first 64 KB of memory are not overwritten or touched, including the Interrupt Vector Table (IVT) and Bios Data Area (BDA). pmmngr_deinit_region () - Deinitializes a region of memory for use This routine is simular to the above routine, but sets the bits instead of clearing them. Because the bits become a binary 1, that 4KB block of memory the bit represents is effectivly set to reserved so that area of memory will never be touched when this routine is called.
Woohoo! Now that we have a way to initialize and deinitialize regions of memory for use, and initialize the PMM we can work on allocating and deallocating blocks next! pmmngr_alloc_block () and pmmngr_alloc_blocks () - Allocates a single block of physical memory To allocate a block of memory is very simple. All of physical memory is already there, all we need to do is return a pointer to a free block of memory. We can find a free block of memory by looking through the bit map using out mmap_first_free() routine. Also notice that we call mmap_set to set the same frame returned from mmap_first_frame (). This is what marks that block of memory just allocated is now "in use". This routine returns a void* to the 4KB of physical memory just allocated.
The PMM also containes another allocation routine: pmmngr_alloc_blocks(). This routine is almost exactally like the above so I decided to leave it out of this tutorial for space purposes. It provides a way to allocate a sequencial amount of blocks rather then a single block. pmmngr_free_block () and pmmngr_free_blocks () - Releases a block of physical memory Alright...We now have a way to allocate blocks of physical memory. Now we need a way to free these blocks of memory so we do not run out of memory. This is too easy:
pmmngr_free_blocks() works almost the same way but is used in conjunction with pmmngr_alloc_blocks() used to free a sequencial amount of blocks rather then a single block.
The Physical Memory Manager running in VirtualPC
ConclusionThis tutorial was not to bad, huh? We first looked at physical memory itself; understanding what it is and how it works, the physical address space and addressing modes. We have also looked at how to abtain memory information from the BIOS and give it to the kernel as well as the development of a physical memory manager. Now we have a way of allocating and releasing physical memory blocks. This is great, but it still has some problems. That is, if we load a file or program we can simply use our physical memory manager to allocate an area of memory large enough for the file or program. But...What if there is no area big enough for it? This also means any programs loaded must be linked to a specific address that it is loaded at by the kernel. This is where virtual memory and paging comes in. In the next tutorial, we will be looking at paging and virtual memory. We will learn how we can map and control the full 4GB address space. We will look at what virtual addressing is all about, and how we can use it to fix all of the above problems and more. I'll see you there.
Until next time,


text:
Death Ball is a no-holds barred sports game, similar to soccer, in that there will be two teams trying to score a goal in their opponent's goal. Your goal is to get the ball and score, although things aren't that simple. When your team gets possession of the ball, a meter will start filling up and when it reaches a certain point, the goal will become opened.
Once the meter fills up all the way, the player in possession of the ball can perform a Superstar Shot. This is a special shot, when executed, will make the ball go towards the goal. It can be stopped by the opposing team, but if it goes into the goal, the team that shot it will score one point. You do not have to wait for the Superstar Shot, as if you get in the goal beforehand, a point will be awarded for your team. After every point scored, the opposing team will gain possession of the ball from mid-arena.
Of course, you don't have to sit idly by and watch as players hold the ball and then eventually score. You can attack any player on the field, including the ball carrier, which after enough hits will drop the ball (and decrease any meter built up). Any player that is killed will have to wait 10 seconds before they can respawn. The team with the most points after 10 minutes has passed is the winner.

subset: commoncrawl


text:
Fill out our contact form
The choice for critical illness insurance in Prince Edward Island is really about protecting what you value most! Chances are, you want a solution that won't just promise a low price—because while you might be watching your budget, like most people these days, you're also serious about finding insurance coverage that provides the right amount of security for your needs. Get more information about
Critical illness coverage is important. In fact, it can have a direct impact on both your and your family's quality of life. So when you're comparing quotes online, you have to look beyond the price tag and really understand what your critical illness coverage includes. We can offer the best customer care and detailed advice thanks to our network of advisors in Prince Edward Island and beyond. You can also expect us to always prioritize the needs of our members and communities—after all, we've been a co-operative for more than 70 years!
When it comes to complete critical illness insurance in Prince Edward Island that caters to your needs, put your trust in
Protecting families and individuals with reliable products, such as our critical illness insurance in Prince Edward Island, is what


text:
It's been a while..the internet hasn't been working in school and all that. lots been happening and I'm still trying to catch up!my birthday was on thursday turned 17 YAY! came back to london yeasterday and today I'm going to Lagos!
It was quite hectic in school trying to finish up all my work a week earlier than others but it was all worth it cuz by Gods grace tommorrow I'll be basking in the Nigerian sun.
For the first time in my life I got a little tipsy (note: not drunk just tipsy)thanks to my lovely friends that took me out to dinner on my birhtday. They kept offering me more and more wine and me too I kept drinking it.After us lot drinking too much wine we started singing on the streets before we headed the play ground.T'was quite fun and very giggly.
I'm happy I've left school for a bit cuz my horizons have been quite limited and short sighted.That's the reason I started fancying one guy, that outside school I would not even think twice about.....Okay I might look twice cuz this guy is FIT! but I won't think too much bout him. He was the one I said was giving me mixed signals in my previous post.But now I honestly think I'm over him cuz I just can't work him out. One minute, he's all over me and I'm thinking the guy is feeling me. The next time, he's just acting all cool and distant.So I've decided he probably just likes me as I friend and I think I was just confused, I don't really like him its just...ot uf a limited number he's the most faciable guy to me.However, I'm sure if I see more eye candy I'll totally forget all about him cuz I so do not want to be thinking about one guy dat does not even ja me face!
Tuesday, December 12, 2006
It's been a while..the internet hasn't been working in school and all that. lots been happening and I'm still trying to catch up!my birthday was on thursday turned 17 YAY! came back to london yeasterday and today I'm going to Lagos!
Posted by Tiwa at 9:07 PM 1 comments
Tuesday, November 28, 2006
45 Random stuff about me!!!
I've finally gotten round to doing one of these memes. Everytime I try to do one it always looks like so much work but anyhoo here goes
Whats your name spelt backwards?:) awit! see,even with my name spelt backwards I'm still a wit…lol
What did you do last night?: Had a spanish lesson and watched team America.
The last thing you downloaded onto your computer?:I don't remember
Have you ever licked a 9 volt battery?: What!! who does that? not me!
Last time you swam in a pool?: I dont even remember...i think like 5 years ago
What are you wearing?: white top, green cardigan,jeans,white trainers…(yup repping naija green ,white ,green)
How many cars have you owned?: Well, let me see ..first I had the rolls, then the jaguar and I just got the rover..so that's 3 not bad eh?…..(na beans!)
Type of music you dislike most?: hardcore metal..argh its just a load of noise
Are you registered to vote?: nope..under 18s not allowed.that law should be ammended. 16 yr olds are allowed to go into the army and be killed but they can't vote for their leaders.
Do you have cable?: I don't think I can survive without it
What kind of computer do you use?: It is written on the computer i'm using right now ;LG
Ever made a prank phone call?:yup! those things are fun ..there was even a time we called this number and a guy picked it up. told him I was a unilag chick and we'd met before, the guy was too happy he thought he had struck gold..he was like his wife was with him at that time so he couldn't talk but that he'll be coming to my school this evening to pick me up , that I should give him my name and the name of my hall. Can you imagine the shameless man, he was old enough to be my father Oh! Useless man but that was a good laugh
You like anyone right now?: yess! and its so frustrating cuz the guy is just giving me mixed signals!
Would you go bungee jumping or sky diving?: God forbid! bungee what!
Furthest place you ever traveled?: Nigeria to london
What's your favorite comic strip?: don't read 'em
Do u know all the words to the national anthem?: Yup, after singing that naija national anthem everyday on assembly ground in school..
Shower, morning or night?: mornings and sometimes both
Best movie you've seen in the past month?: Casino royale..that movie was too bunz.. the guy isn't that fine but he was really cool
Favorite pizza toppings?: chicken and sweetcorn with peperronni...yummy
Chips or popcorn?: chips!
What cell phone provider do you have?: Tmobile
Have you ever smoked peanut shells?:peanut shell!!! no oh!
Have you ever been in a beauty pageant?:yup in school and i'm proud to say I won
Orange Juice or apple?: orange
Who were the last people you sat at lunch with?: couple of friends!
Favorite chocolate bar?: Dat one is hard oh!but its between kit kat,snickers,toblerone and bounty
Who is your longest friend and how long?: my longest friend is a sweet heart and its been 6 yrs
Last time you ate a homegrown tomato?: Don't think so
Have you ever won a trophy?: got one in pry school for coming first in a race
Favorite arcade game?: dont know what games they have in the arcade.. do they have tetris in the arcade?
Ever ordered from an infomercial?: Nope!
Sprite or 7-UP?: aren't they the same?
Have you ever had to wear a uniform to school/work?: yup to school.
Last thing you bought at Walgreens?: I dont think they have that shop where I'm located
Ever thrown up in public?: thankfully not!
Would you prefer being a millionaire or finding true love?:)finding true love..you cant beat that!
Do you believe in love at first sight?: i believe in instant attraction at first sight not love
SPONGEBOB OR JIMMY NEUTRON?: they're both very stupid
Did you have long hair as a young kid?: Nope. used to cut my hair and i remember the first time I cut my hair in pry school, my teacher kept going on about how I was now the smartest kid in her class cuz I had my hair cut...?don't ask ME why!
What message is on your voicemail machine:"hello..hello..heeelloo..whos this?.. Why're you calling? .. im' not here right now.. so drop a message .I'll holla back, bye!"
Where would you like to go right now?: To lagos!
What's the name of your pet?: Don't have any pets
What kind of back pack do you have, and what's in it?: don't carry a backpack, but I've got hand cream, usb cable,pack of tissue, pencil case, one huge text book and a couple of notes, vaseline, a mirror , purse and loads of receipts
What do you think about most?: How the hell I'm gonna do all my school work in so little time!
{I tag anybody who reads this!)
Posted by Tiwa at 1:29 PM 8 comments
Monday, November 20, 2006
Home sweet home.. no more cold
Mehn! I'm literally counting the days till I go back to naija.I've only been away for a year yet it feels like millions of years.Christams is gonna be so fun! All my family people are going to be there and we're going to seriously rock lagos!!I just hope everything goes according to plan because this one I've started making mouth...I've not even bought my ticket yet but mumsy says I should not worry...i'm not worrying but hmm.... me I must sha go to lagos this christmas!
Last year's christmas was so shite! Everyone's like "Oh!christmas is coming" and the houses are all lit up and everything seems to be getting ready for a climax on christmas day... On the so called christmas day everything is so boring,you just sit in your house and eat your christmas turkey. You can't even go out for the fear that you will die of cold! Talking about the cold, yesterday was horrible. I went on a school shopping trip to manchester.Typical me, I walked round the mall till my feet were sore and I had seen all the seeables and bought all the buyables.Anyway,I was looking forward to getting back, having dinner and completing my course work. All for the bus to break down on the way back to school and we had to stand outside in the cold. We couldn't stay in the bus because of one safety issue like that..we could get hit by a car while we were in the bus or the car could explode,oyinbos and their safety issues, if it was in naija even if the car is bringing out smoke they will still be in the car and be like "explode ko..explode ni.. wo! just buy pure water and pour it inside and lets be going"..oh bless them! Anyway, the getting out of the car didn't make it any better because we could have also died in the cold they told us to stand in. When we thought it couldn't get any worse, it now started raining..mehn! it was so not funny! we stood there waiting for AA to come for almost an hour! At one point I had to start laughing cuz if not I would have cried plus we were squeezed together in one big circle trying to stay warm and we all looked like penguins! Not long now tiwa..you'll soon be in the warm climate of nigeria and then you'll be complaining of the heat.
Nyways, all you people spending your christmas in jand pele Oh! while you're eating your christmas turkey , I'll be eating some efo riro..lol! don't let me rub it in too much! bye!
Posted by Tiwa at 9:10 PM 1 comments
Sunday, November 19, 2006
What's it gonna be?
I've always had perfect eyesight, my grandmother is 64 and she doesn't use glasses. So how come at this young age I cant see properly again. I'm so pissed of at this and although in sec. school I always wanted to wear glasses, now the thought of it is horrible. I guess I can use contact lenses but the thought of poking myself in the eye everyday that's even worse! Sigh.
In school, we're doing a work experience thing were we have to find work placements for a week in a place in line with what we want to become. That is a major problem for me because I don't know what that is. I guess I have an idea...more like i have lots of ideas of what I want to be. I've wanted to be so many things in my life. When I was younger I wanted to be a singer and I used to sing everywhere I went. After that, I wanted to become a lawyer, cuz everyone was always saying I'd make a good lawyer as I used to argue a lot with everyone about random stuff. Then in Jss1, I wanted to be a cardiologist.... I don't even know why, I guess cuz the name sounded fancy. Then, I wanted to be an accountant or just a businesswoman who wore proper corporate clothes and worked in a big company. The idea of becoming an accountant went squash when I found out that accounting is the most boring thing I could ever do, I barely passed it my WAEC. Now, I think I want to be a corporate lawyer but I'm not very sure about that now cuz it doesn't sound very interesting and I still want to be a model/singer (although these are dream as a result of watching to much Britain's next top model and X-factor!). I really need to sort this out.
All my aunties are always asking " so tiwa what are you going to study in uni?" "What do you want to be in future?" most of the time I always just say something random like " Oh! I want to be a pilot" or "I'm going to study engineering" blah blah but that's only to save face cuz I don't want the "You have to know what you want to be" lecture as if I don't know that already. Sometimes I think I don't really have to worry I can just study anything and in future hopefully I marry a rich guy and I don't have work hard for money, I'll just have a shop to keep me busy. But I know that's not a good plan what if the rich husband doesn't surface? I'll have to struggle for the rest of my life. I want to get a degree and get a really good job so I don't have to struggle like that.
Anyway, I've yarned too much I have to go and do some homework.... arghh! Tell me, why am I in school again…yeah I know so I can get a good degree and a good job and have loads of money! If only it was that simple!
Posted by Tiwa at 9:58 PM 0 comments
Saturday, November 11, 2006
Truth versus lies
Hey guys! long time.I've been really busy with school work and stuff.This A level is work oh! but I'm ready to stick it out.
Last week I caught the "I want a boyfriend" bug that was floating around in school. At first I was like Why are all these stupid girls moaning about wanting a boy friend, then it hit. The love sick couples holding hands and kissing everywhere get to you. At first it was very irritating( it still is) but after a while you start thinking " oh! I wish I could have that". Anyways, so I joined the I want a boyfriend team. All the other girls had a guy they fancied, but I didnt( well I have one but its very complicated so I might as well just forget it)so I wanted a boyfriend and I couldn't have one, not while I was in this school! So I just had to get over it. One of my very serious friends who I didn't khnow was in our "I want aboyfriend team" had a guy she liked. He's actually the guy half of the school girls like, he is fine but apart from that I don't know what they see in him. The guy is a well known player. My dear friend knew his reputation, it was even a topic of discussion in their family cuz both her parents knew him and thought the same of him, but she was falling hard and fast. They had been emailing each other for a while and the guy was kinda hinting that he liked her.She confronted him bout his player ways and the guy gave one very touching story that he wasn't what she thought he was and said that she was his dream girl in pry school(cuz they went to the same primary school)and all that very soppy stuff
This kind of situation is very difficult, you know the facts in your mind already, that the guy is a player but one part of you wants to believe him, wants to believe that even if he was, he'll be different to you. You know, just like in the movies, the bad guy meets this girl and completely changes because of her.Even if you know that he's probaly lying , the idea of that romance, makes you believe it.This was the dilenma, me being the romantic that I am was, kept urging my friend to belive him and give it a chance.
The problem was that this guys ex, Who is my friend's friend(lets call my friend Bibi)told bibi that she still likes the guy. Ex had a party last week and guy was there.There was a rumour that the two hit it off, bibi asked guy about it and he denied it.Guy, probably didn't know that Ex and Bibi used to talk, so one day bibi and ex were talking and katakata burst.Ex said that guy and her kissed and all and bibi told her her own story.As thay were talking now,guy was coming and immediately he saw the two of them together he ran away.
I know this isn't a very serious situation,its not like he was going out with any of them but the thing is how do you know when guys are lying. It's like their lies always seem more like the truth and their truths more like lies.The line betwen lies and truths becomes so blurred that you don't see it anymore. Seriously, its a matter of God help us! Only God can help us.I think I've gotten rid of the "I want a boyfriend bug" but its still lingering somewhere there.All the fantasies still lurking behind the common sense.Waiting for the next guy that will make them reappear. As for now they're tucked safely away.
Posted by Tiwa at 10:34 PM 1 comments
Monday, October 23, 2006
The emancipation of my mind
Posted by Tiwa at 8:19 PM 2 comments
Sunday, October 15, 2006
Posted by Tiwa at 4:26 PM 0 comments
Sunday, September 24, 2006
I can't be bothered to think of a title
Posted by Tiwa at 6:54 PM 2 comments
Saturday, September 09, 2006
A whole new world
Posted by Tiwa at 9:01 PM 1 comments
Wednesday, August 09, 2006
Free songs
I am now faced with the dilemma of where to get songs to download. This wasn't a problem before, as I was a major dealer in limewire and the rest until some one told me it was illegal. Well, I'm not totally convinced because it's so easy and it's FREE, tell me, what wrong with that!
Despite my arguments , I still can't get to downloading the songs (I don't know the kind of mashmallow conscience I have!) so now I'm looking for an alternative way to get my songs but what do you guys think, is it really wrong?
Onto something else, I just found out about this really cool gospel group called four kornrez. They are four Nigerian brothers (brothers.. asin of the same father) Deji, TJ, Vidal and Daniel(check them out in the pic above...aren't they cute, that's just by the way) who grew up in Lagos but later moved to London. I've only heard one of their songs called "yes I know" and I was able to download it for free (they were giving it out, I didn't steal from them) and I loved it. They have this jazzy modern fresh sound, you can listen to a sample of their songs on their website or their myspace page(where they were giving the free download, Hurry you might still be able to get it!)here's the link free download.
Posted by Tiwa at 8:41 PM 1 comments
Saturday, July 22, 2006
Tacky lines or worse... stalkers!
So yesterday I went out to do some shopping with one of my friends. She just moved with her sis into a new flat and she wanted to get some household stuff. As we were going into one of the shops, I noticed two guys also entered the shop with us. We bought some things there and left the shop. As we were going into the next shop, one of the guys said hi and kept going so I just thought he mistook me for someone else. When we entered the next shop the same guys came in behind us. Coincidence right?.... Yeah, that's what my friend and I were saying until the same guys followed us out of the shop and to the bus stop.
Posted by Tiwa at 3:07 PM 4 comments
Friday, July 14, 2006
Ego le
I know I should blog more often but mehn it's almost impossible to. I always have so many things to do and believe blogging is always the furthest thing from now. But, hopefully all that will Change now cuz school's gone out for the summer. Although I've been feeling a bit down lately, the fact that I don't have to get up at 6:30 anymore and endure the stupid remarks from my teacher, is enough to lift my spirits.
Anyways, right now things are not that interesting. Everyone's traveling for summer and I'm desperately looking for a job. Mehn, this job hunt thing is very annoying in London oh!I've dropped about thirty c.v's in even some stores whose names I can't remember. I started this job hunt about two weeks ago, so that I could get a headstart before all the desperate people who had run out of money and were ready to take on a extra part-time summer job.
The job thing is really depressing me because I really need cash. I'm (by God's grace) going to Lagos this Christmas and I can't go empty handed. All my family members (some of who I've not spoken to in the past year I've been in London) will come barging into my house demanding their Christmas gifts. The thing is I just can't turn them away empty handed because I used to do the same thing back then! SO, to do this I have to get money and to get money I need a job(or do u have any other brilliant ideas on how to get money!) and time is running out( u know time is money now!). I only have this summer break to get a job cuz after that it's back to school. It's at times like this I wish my father was a billionaire.
Posted by Tiwa at 9:00 PM 3 comments
Wednesday, July 05, 2006
There is hope!
I was very suprised when i saw a picture of John legend with a naija nodel called Tayo Otiti on someone's blog. The first thing that came to my mind was "All the way". It would have been a different thing if it was someone like Oluch onweagba he was going out with but to hear he's going out with a Nigerian who's not been in the limelight before! Anyways, thats really good for them. Although I like John Legend , i don't love him enough to be jealous of her instead she gives me hope.
For years, I've been announcing to the whole world that I am in love with Lemar Obika . Sure they all laugh at me and I really just say it for jokes but mehn! I really love that bloke. I had his poster in my locker in secondary school and every morning , I would look at it before going to class and send him a kiss. I also have this friend who also loves Lemar so we' were always claiming him publicly and all fighting for his love that was never there. One time I heard he was performing in marks and spencer for their anniversary and it was free. I was so happy, my friend and I jumped on the bus and we were so happy on the way imagining all the things we would do or say if we saw him. Ha! all for us to get there and for them to tell us he had gone already. Mehn! that was such a joke, I was so devasted. I couln't face going home and getting laughed at with remarks such as " After all the noise you were making "( and believe me we made a lot of noise about it) . So, till this day both our families think we saw Lemar for real and that we spoke to him.
So as I was saying this John legend and Tayo story gives me hope that one day it'll hit the newstands that "Lemar is going out with a naija model"(The model being me). It'll just be like a deja vu. The same story but with different characters.( don't you dare say dream on sista )
Talking about deja vu, have you guys heard Beyonce's new song with Jay-z called deja vu. The song is hot. That's now my favourite song (for this week anyway,Ill have a new one next week). Anyways, I've got to get ready for school tommorow (aarrgh!) so bye.
Posted by Tiwa at 10:50 PM 3 comments
Friday, June 16, 2006
My mind is going through a dejunking process right now. This is because lately my thoughts have been filled with so many things. There always so many emotions, memories, plans, worries going through my head. And now I'm almost drowning in them and I barely have space to think about other things. Since my thoughts were so clouded, I couldn't think straight when it came to important things like God, school and all the other things i was supposed to be thinking about. I just couldn't get my priorities straight. I really miss those days when i didn't think about anything, when I never had trouble sleeping because my head was brimming with thoughts , I only thought when I needed to say something or I was trying to remember stuff during exams or when I had to call the coming week's hairstyle. So I decided I was going to stop thinking. But how can I? So I decided I was just gonna reduce the things I thought about and clear my mind to give it enough space to think clearly about the things I ought to. So my main prorities are
1.God,establishing and maintaining a relationship with him
2. School, to continue to learn everything that i can and excel in this area
3. Myself, taking care of myself and making sure I always keep a clear head to be able to plan for my future
Mostly, i just want to live life to my satisfaction and get the best out of it so that I don't have any regrets later and I can't do this without a clear head. If I keep thinking about things I want to do but never do them, my thoughts are just a waste of time. It's better to go out and do them rather than just thinking about it. Moreover, if I think too much I will just kill myself and believe me, I'm not ready to die. So here's to a long life with a clear head!
Posted by Tiwa at 5:31 PM 0 comments
Wednesday, June 14, 2006
So little yet so much
Like her I can't resist the windows
These days, I find myself wanting almost everything I see and I can't help but see! This is because on my way to and from school, I have to go through the shopping mall and once I see the beautiful displays, I'm like a zombie. I have to go in and check out the store. You're probably thinking that once I get in, I'm going to spend all my life savings or at least come out with a thing or two. But thats were you're wrong, I barely spend a penny.
Why? because I've got no cash to spend. I,ve got no job and I don't get ema(education maintenance allowance) from school. How do I survive? Basicaly I rely on small change from my many uncles and aunties and money from my mum only when a member of my family goes to lagos, Nigeria. Sadly, my source of income has been going down lately. When I first arrived in london, only last year, my family members were very generous and were always blessing me with money. This was because they hadn't seen my face in a long while and since i was just coming from Nigeria, they wanted to feel like big london aunties and uncles. Now, after about 10 months of seeing my face, it has lost its effect on them and now that I have become one of them that is a london gal, they don't have to feel big anymore. So as my face becomes more familiar, the money i recieve reduces.
The little money i get is spent on transport and other very basic things. It's not like I really need money, i just want to buy clothes and shoes and make up and basically anything that catches my eye. So now i have started looking for a job(against my mum's wish, she doesn't think i need any money apart from what I get from her. Ha!) so i can satisfy my ojukokoro (greedy) eyes.
Posted by Tiwa at 4:42 PM 0 comments
Friday, June 09, 2006
Good looks
Posted by Tiwa at 8:48 PM 0 comments
Sunday, May 14, 2006
Da vinci's code
You should see the amount of people carrying this Da Vinci code book ,written by Dan Brown, reading it on the trains and on the bus! At first, I thought it was just another good book I had to read but then I started hearing stuff about the book. I heard it was a book that blasphemed Jesus and portrayed him as a liar. So, as a good Christian, I decided that I was not going to read it because number 1. It was anti-Christian and
2. It might make me question my beliefs.
I also decided I was going to write about it on this blog, to try and discourage people from reading or watching it. But I later discovered, through an article from the outflow magazine by Jesus house, that the book didn't actually portray Jesus in a bad light. It said Jesus was married to Mary Magdalene and they had children, it didn't say they had an affair or they had children out of wedlock. Rather it shows the catholic church in a bad light. According to the book, the catholic church is guilty of hiding "the true Jesus" from us, it claims that the Catholics concealed this secret to undermine the role of women in the church. But how do we know the Jesus portrayed in the book is indeed true?
Well, that's left for you to decide. Really, the only people who should be worried are the heads of the catholic church, because the book (if right) means they have been lying to the world and believe me they are worried because they have called a fast till death as a protest for the movie not to be released. This leaves me wondering what are they really fighting for? Are they really hiding something?Because the book doesn,t really pose a threat to Christianity,the main thing is that neither theory denies that he(Jesus) died to save us and that is what really matters. Jesus being married with kids doesn't make his death less of a sacrifice or his life less holy. Whichever way, are you going to believe a fiction based novel written by one guy like that called Dan brown, who probably just thought writing this sort of story will bring him loads of money or a 2,000 year old story proven to be true and supported by the scriptures?
Posted by Tiwa at 9:20 PM 4 comments
Wednesday, May 03, 2006
What am I doing here!
Ok, I have to admit I'm getting the jitters. I've been going through most of the blogs and it's scary.Most of the blogs I've seen are written by people in their 2o's and 30's talking about work, men and just generally older peoples stuff. Plus my writing skills are just developing (although it has made me to start thinking "maybe I should become a journalist").This is making me think "is it just me or am I just totally inappropriate for this blogging stuff?" Don't get me wrong I'm not going to stop instead I'm more challenged to make it work but I'm thinking who am I going to make it work for. I mean, if I post really intersting stuff everyday and there is no audience, what's the use! In short, am I sure somebody is reading this!
Now, I don't want to sound too whiny(who are you kidding?),I know I might come across as a confused teenager but hey! can you blame me. I'm still trying to figure out who I am in this ever changing world. I just hope there is a teenage audience in blogosphere or infact any one who can relate to the things i'm going to be writing if not...... let's not go there yet.For now,I'll just keeping writing in as good and as frequently as I can.
Posted by Tiwa at 6:31 PM 0 comments


text:
CATEL is a French Nework of abilities in the e-Health field, official member of the IsfTeH organization, whose goal is to contribue to the development of telehealth in France and abroad. Thus, it has established some proposals to speed up the developement and use of TELEHEALTH in France and abroad.
CATEL's Proposals Presentation


text:
Best Quality Oyster Perpetual Rolex Datejust 2 Replica 39mm Watches
If a watch enthusiast is asked to speak about one of the most famous collections from Rolex, the Rolex Datejust 2 Replica collection will certainly be one of them. This model is absolutely crucial in the brand's history as it had an automatically changing date display and still is one of the classiest choices speaking of Rolex watches. The design has some improvements in comparison with the first watch, however it doesn't go far from the first original watch. Nevertheless, one of the differences between these two is the fact that the newer designs are made with more of a jewelry style approach and come with various luxury materials and precious stones. Some replica watches manage to replicate even these luxurious materials and the end result looks extremely similar to the original watch. To be honest, the Replica Rolex Datejust 2 39mm Watch also try to do that.
Take for instance this replica watch, it comes with few differences, and even those are practically unnoticeable. Most watches normally come with plenty of differences, in particular when it comes to the writing or the elements of the locking mechanism. Nonetheless, there seems to be little trace of any difference on this watch thus if you manage to buy a copy watch that is similar to it, you should be happy, it's a well-made watch, crafted with high quality materials that will certainly be durable. Even the pattern that comes on the display is replicated in a precise way, hence you get this marvelous watch for a small fraction of the actual price. And that, the steel in this knockoff seems highly durable thus you will manage to keep this watch for a very long time.
Also, the date display is considerably accurate, which makes this imitation watch a great gift and accessory that will withstand the test of time. As you can see, getting a good replica watch can be easy, when you make sure that you analyze it and make sure that it is as similar to the original as it can. There are, of course, a lot of replica watch sellers that will scam their customers into buying cheap products made with low end materials, but, this fake is surely not one of them.
So take action to buy the replica Rolex Datejust 2 39mm as soon as possibly.


text:
Ramnagar fort is as also known as Purana Mahal. It is located at an altitude of 828 meters.
Will BJP able to make a come back after a Congress win in MP, Rajasthan & Chhattisgarh?
View Results
Join us as we take you into the heart of India with the latest news in politics, business, entertainment, technology, and more. Sign up with your email id now!
Werindia Fusion Healthy Life Others
Copyright © 2019 WeRIndia, Community. All Rights Reserved


text:
Tel: 303-295-1379 x 100
With a wealth of experience in Heavy Duty and Automotive markets in North America, Europe, Middle East and Africa and along with a deep understanding of the Unipart Way, Mike provides the Group's strategic vision and supports and coaches the Company to achieve its future goals.
Tel: 303-295-1379 x102
Cell: 602-721-9452
Peter has spent over 30 years with Serck Services across two continents, exemplifying our true commitment to customer service. His expertise encompasses the automotive, mining, trucking, off-highway and construction industries with specialization in the Heavy Duty and Industrial Heat Transfer & Technology market sectors.
Tel: 303-295-1379 x 400
Cell: 303-550-3151
Sean has been a valued member our team for several years. He has worked tirelessly as a Branch Manager in our Grand Mesa shop working with the local business, government and mining industries. He now oversees our manufacturing facility in Denver.
Tel: 303-297-0355 x 300
TK brings over 40 years of heat exchange experience from automotive, industrial, on/off-highway, mining, and oil & gas markets. Combined with the quality and innovation which is part of the Serck heritage, this provides an effective base to support our customers with their specialist radiators and bespoke heat exchange needs.
Tel: 303-297-0355 x 104
Deanna has worked for Serck Services for several years and understands our customers and vendors needs from the ground up. She has implemented new processes, procedures and upgrades to make everything run as smoothly as possible.
Tel: 303-295-1379 x 103
Cell: 970-232-6542
Carrie is our Distribution Manager, working closely with Operations, Marketing and Finance to deliver all of our customers the best possible Customer Service possible.
Cath brings in depth experience of Distribution and Manufacturing industries from the UK and international supply chains, working with the Serck businesses to broaden the foundations for growth and build on the talent and expertise within the businesses.


text:
Email: firstname.lastname@example.com
Tel: 07456 047 432
Materials & Data
POLYJET printing produces plastic parts with smooth surface finishes, high resolution and accuracy, with finer details than that of (SLA) 3D Printing.
prototypes and parts printed with POLYJET 3D Printing, like this V12 reciprocating engine, can be used for fit form & function, Sales & marketing!
A list of the material we use and there material data can be found below;
High Temperature (RGD525)
This is one of the best materials for use in heat testing of any PolyJet material.
It has an amazing surface finish, is strong and stiff, and is ideal for non moving parts that require thermal testing.
Use it to test hot-air flow or hot-water flow in/on 3D Printed pipe and tap prototypes, up to 80°C after thermal treatment.
Durus White RGD430-Polypropylene-like Materials
Durus White (RGD430) Offers toughness and durability within the standard PolyJet material range.
It has a very good surface finish, for smooth prototypes and you can produce living hinges, flexible enclosures and snap-fit parts with this material.
Vero Clear RGD810-Transparent Materials
Vero Clear (RGD810) is a nearly colorless material, it has great dimensional stability, and fine detail can be produced with it.
Where ever support material is used, the surface will have a slight frosted look, but if you need to simulate Polymethylmethacrylate - Acrylic - PMMA then this is an ideal material to use.
Vero Gray (RGD850), Vero Black Plus (RGD875), Vero White Plus (RGD835), Vero Blue (RGD840).
With our range of standard materials you can get a part that simulate the plastics of your end product.
It has good dimensional stability and produces high detail parts.


text:
Usually Tanta Golda starts off with a letter, but this time I've had numerous queries on a topic that has been in the news, Blood Libel, so instead I'm going to start you off with a definition and a little quiz.
Blood Libel: The false accusation that religious minorities - usually Jews - murder children to use their blood in some aspect of their religious rituals and holidays.
Quiz: Why did Jews need blood?
- Jews suffer from hemorrhoids, as a punishment for killing Jesus, and drinking blood was considered the best cure.
- All Jewish men menstruate and need a monthly transfusion.
- When Jewish men are circumcised they lose so much blood they need to drink Christian babies' blood.
- Christian blood is the chief ingredient in matzah.
- All of the above
Believe it or not, the answer is e. Reality rarely has any bearing in hate speech.
Anyone who has some knowledge of Jewish law, would know that killing someone and using their blood, is an anathema to our beliefs.
- Of course, the 10 commandments passed onto us by that mensch (person of character) Moses, prohibits murder.
- The laws of kashrut (ritual purity of foods) prohibit the use of blood in cooking.
- The Torah clearly states (in Leviticus) that blood from sacrifices could only be placed on the alter of the Great Temple in Jerusalem, which was destroyed in 70 CE.
- Human sacrifice is one of the evils that separated the pagans of Canaan from the Hebrews. (Deut 12:31 & 2 Kings 16:3)
The origin of the blood libel lie seems to have begun with the spewings of the Greco-Egyptian, Apion, around 40 BCE. He claimed that the 'Jews sacrificed Greek victims in their Temple'. His rants were passed on, but little action was ever taken.
The first known medieval accusation of ritual murder or blood libel, was William of Norwich (age 12), who was later made a Saint. His unexpected disappearance was pinned on the town's Jews, but since no body was ever found, the sheriff didn't pursue charges and even granted the Jews protection. It is nice to know my dear ones that the mob doesn't always rule. Unfortunately similar accusations began springing up in neighboring towns. Blood libel was to become the major theme in the persecution of European Jews.
The Middle-Ages were a frightening time, with little understanding of science and medicine, so blood libel was sometimes used to try to account for unexplained deaths and disappearances of village children. According to a very nice and learned professor, Walter Laqueur, there have been approximately 150 recorded cases of blood libel (not to mention thousands of rumors) that have lead to the arrest and killing of Jews - mostly during the Middle Ages.
History has shown that when people feel powerless they look for scapegoats. This has lead - and continues to lead - to the persecution of minorities, be they Jews, Roma, Muslims, or even Christians.
Tanta Golda would like to counter the assertion that these were all incidents in the distant past and so the term 'blood libel' shouldn't be taken so seriously by Jews anymore, that now it's just become part of our everyday nomenclature: like that nice phrase - Indian giver.
Dateline- Yom Kippur 1928
After the disappearance of a little girl in Massana, NY, Rabbi Berel Brennglass of Congregation Adath Israel was questioned for 4 hours, while townspeople made blood libel accusations and surrounded the synagogue. The girl was found alive and well in the woods where she had gotten lost.
Dateline Spring 1986
The Syrian defense Minister, Mustafa Tlass writes a book, "The Matzaoh of Zion". In it Tlass claims that he has "scientific proof" that Jews living in Damascus in 1840 killed two Christians and used their blood in preparing matzoh. It is later cited (1991) at a UN conference by a Syrian delegate. In 2002 the book underwent its 8th printing.
Dateline - January 2005
Twenty members of Russia's Duma publicly made a blood libel claim against the Jews and called for a ban on all Jewish organizations. The movement gained momentum for a month before they were forced to retract their claim.
Dateline - Spring 2008
Copies of a poster go up in the Russian town of Novosibirsk which read, "Beware Russian parents. Keep watch over your children before the coming of April 2008, the Jewish holiday of Passover. These disgusting people still engage in ritual practice to their gods. They kidnap small children and remove some of their blood and use it to prepare their holy food (matzah)."
While the Anti-Defamation League has concluded that the swastika has become a generic symbol of hate, no longer reserved for solely anti-semites, Tanta Golda could find nothing before the brouhaha of the past month, that would indicate that blood libel has become an interchangeable term for vendetta, despite what Mrs. Palin huffs. Fie on Mrs. Palin and others for bandying about this term so casually. She may indeed have nothing to do with the horrific incident in Tucson, but she is responsible for using her words in what seemed like wonton disregard for the millions of Jews who have suffered by these very words - Blood Libel.
Our wise ancestors who wrote the Talmud knew that words, once out - like the feathers of a pillow - are hard to take back. They float about with a life of their own, they linger.
Love - and use your words carefully - Tanta Golda


text:
It's the real thing . . . Coke, is! Did you know that Coca-Cola was originally invented as patent medicine? Coca-Cola was first served at Jacob's Pharmacy in Atlanta, Georgia in 1886 and gets its distinctive flavor from a combination of kola nuts, vanilla, and cinnamon (the exact formula is a highly guarded trade secret). According to Interbrand, Coca-Cola (which had the most valuable global brand in 2011) is currently (as of 2014) the third most valuable brand in the world behind Apple (#1) and Google (#2) Coke products can be found in more than 200 countries worldwide with consumption exceeding 1.8 billion beverage servings per day! (2013) Wow that's a lot of Coke!
Thirty years ago, Coca Cola attempted to change the formula and introduced "New Coke." This product's run was short lived amid tremendous backlash over the change and was only available between April 23, 1985 and July 10, 1985. There was just too much nostalgia for the original drink. To counteract this backlash, Coca Cola added the word "Classic" to the cans to rejuvenate the "image" of Coca Cola. This Classic label wasn't removed from their product line until 2011.
Tags: Beverage, Brand, Coca Cola, Facts, Food, Ktichen, Soft Drink, Trivia


text:
Thursday's Google Doodle on Ghana celebrates 57th Independence Day of the country. Google doodle on Ghana Independence day 2014 design includes national symbols to commemorate day of Independence.
You can see, national flag colors Red and Green in the place of Google logo alphabets in both ends. Two o's of logo is replaced with 5 pointed start, the symbol that we can see in national flag w. Ghana got freedom in the year 1957. To symbolically indicate freedom of Ghana, motto of Ghana ' Freedom and Justice' and year of Independence ' AD 1957' is also included in the doodle under the Google logo.
As the part of celebration of Independence Day, Ghana Music Week started on 3rd of March with Ghana Music Day. Arts, culture, education, tourism and sports, every field is represented in one way or other in the festival. MUSIGA, the musician union of Ghana is the organizers of the event started in 2013. The spirit of Ghanaian Music is enjoyed by thousands around the world in the festival.
Every part of the nation is celebrating the day with grant programs and national respect with parades, flag decorations, music, party. Ghanaian president John Dramani Mahama will address the nation on 6th March.
Being the first West African nation to declare freedom, Ghana is very prominent among the African nation in mineral wealth and in cultural heritage. Google have published Independence Day Google Doodle for Ghana in previous years also.


text:
5 years down the line not only has Linda proven her critics wrong, but her blog has emerged as what is unarguably the most popular, visible and commercially viable entertainment property in Nigeria's corner of the Internet.
Whether it was something as serious as the Abia gang rape story which she brought to the attention of not only the government and people of Nigeria, but also international media, including BBC, CNN and Al-Jazeera among others, something as irreverent as the sham marriage between Mercy Johnson and her Prince of dubious mien, or something as deeply personal as her various pronouncements on her sex life (or lack thereof), Nigerians and friends of Nigeria could trust her blog to raise awareness and shape public perception of the subject at hand in a major way
In our case for example, we can't even begin to count the number of times we've run across the office proclaiming 'did you see what she just posted', and we know we are not alone in this regard. Nor can we begin to count the number of times we've seen and continue to see stories that she brought to light become the fodder for discussion across various internet fora, with debates raging for days on end.
1976AD proudly declares Linda Ikeji the 2011 person of the year.
Source: LindaIkeji and 1976AD


text:
Australians of a certain age delight in hating Halloween. They usually complain that it's another example of encroaching Americanisation (even though it's not) but I suspect that deep down it's because it wasn't part of their childhood. Towards the end of October, as pumpkins and cobwebs appear in shop windows and on fences, trees and verandahs, they begin their tut-tutting on talk-back radio and social media.
Far from being yet another greedy American custom, Halloween has its origins in the festival of Samhain, the beginning of the Celtic year. According to Celtic tradition, this is the time when the dead walk among the living; a time of fairies, ghosts, demons and witches. (http://www.druidry.org/druid-way/teaching-and-practice/druid-festivals/samhain/deeper-samhain)
Just like Christmas and Easter, the Celtic festival was appropriated by the Christian Church, with November 1st becoming All Saints' Day, and October 31st All Hallows Eve. In the United Kingdom the tradition of going house to house in costume can be traced back several centuries, although the expression "trick or treat" is usually linked to America in the 1920s. A Scottish colleague describes dressing as a witch and going to neighbours' houses where they were given home-baked treats and money to buy fireworks for the upcoming Guy Fawkes Day.
As I listen to my peers complain about Halloween, I wonder what sort of childhood they had. I suspect that they enjoyed cracker night, when they could let off fireworks, often unsupervised – and sometimes in neighbours' letter boxes. They could roam the streets and the neighbourhood bush, play cricket on the roads, and have fun with their friends after school without needing a "playdate." Weekend sport was not prohibitively expensive and you would swim all day without applying sunscreen every two hours. There were no helicopter parents or fear of stranger danger; you knew your neighbours. This was not necessarily safer or better, but it meant that kids had a certain autonomy and spontaneity which appears to be lacking today.
Halloween is pretty well over and done with in one night. A few days later, many of the complainers will be having Melbourne Cup lunches and sweeps (often in their employers' time), prior to starting the ever-lengthening round of Christmas parties with their (possibly American influenced) Kris Kringles.
So if kids want one evening of spontaneous fun, complete with costumes and sugar overload, I say go for it. But lets teach them to do it with respect for their neighbours and without a sense of entitlement.


text:
New Music: Jay Sean Feat. Rick Ross 'Mars'
Jay Sean invites you to get intergalactic on his sexy new single, "Mars." The latest offering from his second album on the Cash Money imprint also features an assist from Rick Ross, who chimes in with a dash of hip-hop on the smooth bedroom banger.
Jay Sean's Neon album is set for a June 25th release.
thanks to HHNM


text:
4. Russian Police – "Get Lucky" (Daft Punk)
The Russian Interior Ministry Choir (AKA the Russian police) got together in uniform and decided to bless the world with this gift: a video of them practicing the American pop hit for a performance at the Moscow Kremlin. And for that, we thank them (especially the guy doing the neck roll at the 1:41 mark).
3. The Vienna Boys Choir – "Nothing Else Matters" (Metallica)
This list would be incomplete without the world renowned Vienna Boys Choir. In 2002— for the first time in their 500-year existence— they covered popular songs on The Vienna Boys Choir Goes Pop album. This particular performance went on to become a favorite both for fans of the choir and Metallica.
2. The Florida State University AcaBelles – Royals (Lorde)
The AcaBelles (clearly the inspiration behind The Bellas in last year's Pitch Perfect) went viral with this brilliant rendition of Lorde's hit. In addition to sounding amazing, it helps that they look unbelievably badass in their video.
1. The Brythoniaid Male Voice Choir – "Good Times" (Chic)
Get ready— this video may be the most pimptastic thing you've seen all year. The Welsh Brythoniaid Male Voice Choir rolls about 60 men deep and they recorded this for the UK's Festival No.6. Do they kind of remind you of your grandpa? Maybe. Does that make them any less awesome? Absolutely not.


text:
Curriculum Map Planning Template – Use this template while going through you content to determine what, how, and when you want to teach. This template is not meant to be used as the definitive curriculum map for your content.
UbD full template– This template is the full template for Understanding by Design Units. Includes all sections of UbD with a calendar to plan out when you intend to complete the components.


text:
The Digitale Bibliothek Deutscher Klassiker is optimised to operate with Netscape Navigator Version 6.0 or higher, Microsoft Internet Explorer Version 5.0 or higher, or Mozilla Firefox 1.0 or higher. Use of one of these browsers is strongly recommended.
You can download Netscape Navigator, Microsoft Internet Explorer and Mozilla Firefox by clicking on the following icons:
Note: Keyboard navigation may not be supported by Firefox or Netscape on certain pages in Digitale Bibliothek Deutscher Klassiker. If you encounter any problems, please use Internet Explorer.
If you are using Netscape on a Windows PC you need to have the Arial Unicode MS font installed in order to display the non-standard characters in Digitale Bibliothek Deutscher Klassiker.
If this is not possible, Digitale Bibliothek Deutscher Klassiker will also display a full character set when used with the freely-distributed Gentium Unicode font, prepared and owned by Victor Gaultney. Click here to see the conditions of use and to download the font.
If the characters in column B below display as those in column A, you should be able to view the full character set correctly:
Browser settings
You should change your browser settings to ensure full Unicode compliance.
In Internet Explorer: from the View menu follow Encoding,
and ensure that Auto-Select is unchecked.
In Firefox 1: from the View menu follow Character Encoding, and ensure that Unicode (UTF-8) is selected.
In Netscape 7: from the View menu follow Character Coding, and ensure that Unicode (UTF-8) is selected.
In Netscape 6.x: from the Edit menu follow Preferences > Navigator > Languages > Character Coding = Unicode (UTF-8).


text:
Learning How to Sign with the iPad 2
Cry: "The babies on the bus go, 'wha-wha-wha'…"
Spider: "The itsy-bitsy-spider climbed up the water spout…"
For more information about the SignShine app, read our review.
Posted on December 14, 2011, in 18 months and tagged baby sign language, digital baby, learning sign language with an iPad, sign language songs for kids, SignShine, toddler sign language. Bookmark the permalink. 1 Comment.


text:
Gary Shelford opens The Winter's Tale tonight, the second production in Propeller's UK and International tour. Alongside a brand new production of Henry V, The Winter's Tale is a revisit of Propeller's highly acclaimed 2005 production.
Propeller is an all-male Shakespeare company, run by Artistic Director Edward Hall, which seeks to find a more engaging way of expressing Shakespeare and to more completely explore the relationship between text and performance. Mixing a rigorous approach to the text with a modern physical aesthetic, they have been influenced by mask work, animation and classic and modern film and music from all ages.
Propeller has toured internationally to Australia, China, Spain, Mexico, The Philippines, Sri Lanka, Bangladesh, Malaysia, Cyprus, Ireland, Tokyo, Gdansk, Germany, Italy, Malta, Hong Kong and the U.S.A.Overview
Gary Shelford's theatre work includes a World Tour of Henry V and The Winter's Tale for Propeller Theatre Company, The Stock Da'Wa at the Hampstead Theatre, Angry Young Man at Trafalgar Studios, Tin Horizon at Theatre 503, The UK Premiere of The Internationalist at The Gate Theatre, No Man's Land for Harold Pinter at The National and his award winning one man play Animal Farm.
His film work includes A Portrait of London for Mike Figgis, Bridget Jones:The Edge of Reason and Slapper for Chewitel Ejiofor. His Television includes Luther, Silent Witness, and The Quartermass Experiment for the BBC.
Gary toured the world for a second time with Propeller Theatre Company in productions, The Taming of the Shrew and Twelfth Night ending at the Hampstead Theatre, London. Gary then joined the cast of West End hit, Ghost Stories where he played Mike Priddle in the psychological thriller, before joining Shakespeare's Globe for their Summer season in 2015.About Sainou
Sainou means talent and that's what we're all about.
Based in the heart of Shoreditch, Sainou represents a select list of actors including International industry award winners, household names and some of the finest, young British talent working today.
Clients are represented by agents David Marsden, Paul Martin & James Davies, with assistance from Hermione Halpin & Sophie Rozycka. We work together as a close team covering all media with particular focus on Film, Television and Theatre in both the UK and overseas.


text:
The last Creamery District Art Market of 2014 will be held on November 29, from 11 a.m. to 4 p.m. at Redwood Raks dance studios at 824 L Street, Arcata. Amazing arts vendors, great music and yummy food are featured in this free, fun, family-friendly event. Start your holiday shopping on November 29!
The usual outdoor Art Market has moved into Redwood Raks to stay cozy, warm and dry. Redwood Raks is off the courtyard in the historic Creamery building at 9th and L Streets in Arcata. An abundance of artists will be found in the two dance studios of Redwood Raks.
Musical entertainment will be headlined by virtuoso classical and Latin guitar player Angel Fargas and the Arcata Interfaith Gospel Choir. Click here for just one of Angel's hundreds of videos available on his YouTube channel.The Arcata Interfaith The Arcata Interfaith Gospel Choir (AIGC) has been uplifting hearts for 22 years, but the Holiday Art Market sees the unveiling of the new AIGC Ensemble. The twelve member Ensemble will sing a selection of their own brand of Christmas music. Click here for a video of the full AIGC performing at the Arkley Center for the Performing Arts.
For more information about the Creamery District Art Market email, firstname.lastname@example.com, call 707-502-7803, or check the Art Market page.


text: The 40 mm stainless steel case is symmetrical and scrubbed. The replica watches uk back of the watch with corrugated edge replica watches design, unique Naiad lock technology to ensure the engraved words on the back of the rolex replica watch to maintain neat and elegant. Waterproof watch up to 150 meters in replica watches sale depth, and in the table back embossed Omega famous hippocampus badge designs.


text:
The global market for male grooming products is booming.. in recent years, successfully tapping into the unmet needs and growing trends in this field.. While most of the major beauty and personal care product companies have already .
Top innovation trends in male grooming. Summary. Agenda. Men who use the following products at least a few times a week, global. Dove Men+ Care Brand Manager,. Oily skin. Shaving rash. Dark spots/ pigmentation/ uneven skin tone.
The US will be the third biggest contributor to the global growth of Men's Skin Care.. showcased 4-in-1 skin care products in their Top Ten Grooming Innovations.. anti-pollution trend), dry shampoo, cleansing conditioners, and products for .


text:
Archive for category Network
Posted by mcsrainbow in Linux&Unix, Network on October 28, 2015
Never use pfSense as the Gateway in production environment, sometimes you have to reboot the whole OS to fix some issues, but the reboot means serious downtime especially when there are some VPN connections between different colocations.
Just buy some professional firewall network devices…
Fix the OpenSSL Heartbleed vulnerability without upgrade
Posted by mcsrainbow in Linux&Unix, Network on April 23, 2014
In some environments, upgrade all OpenSSL packages may not be easy, with iptables there is a solution.
#Log iptables -t filter -A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j LOG --log-prefix "BLOCKED: HEARTBLEED" #Block iptables -t filter -A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP
The most wonderful way to access Facebook from China
Posted by mcsrainbow in Network on December 31, 2011
Woo! I found the most wonderful way to access Facebook from China! It's totally free! No VPN, no web-based proxy and no software. Just need to configure your computer by two steps.
1. Configure the hosts file: /etc/hosts (Mac OS X) or C:\Windows\System32\drivers\etc\hosts (Windows) by following the "https://smarthosts.googlecode.com/svn/trunk/hosts"
2. Login Facebook via https "https://www.facebook.com" then enable the "Secure Browsing" on "https://www.facebook.com/settings?tab=security&edited=browsing".
Then you can enjoy the facebook!
PS: Here are the details of step 1 on Mac OS X, it's a little bit difficult than Windows:
Input "sudo -i"
Input "vi /etc/hosts"
Input "i"
Copy from "https://smarthosts.googlecode.com/svn/trunk/hosts"
Press button "ESC"
Input ":wq!"
This is just a backup, if the latest hosts cannot work, use the below instead.
Hackers released the passwords of over 70 million Chinese internet accounts
Posted by mcsrainbow in Network on December 27, 2011
In China, we have the biggest number of people on internet in the world.
But unfortunately our security technology is too bad to support this number one.
In these days, from Dec. 21st to 26th, some hackers have released the passwords of over 70 million Chinese internet accounts. Because most people just have one accounts, so that means over 70 million people have been leaked. Compare with our population, about 5%.
Because some hackers released the users' information of many Chinese famous websites' databases, including the usernames, passwords, email addresses and phone numbers etc. It was not very difficult to find those files and download them, I have downloaded most of them.
But what made me most surprise was almost every people around me, they didn't know this happened, some of them knew that but didn't believe until I showed them their own passwords.
I think this is very dangerous, because hackers just put the passwords in public, so anyone who wants to do some evil things, they have a lot of methods. And because most people use same passwords and same user names for all websites, so that's very easy to find out and get more information from other places like email, IM software and some eCommerce websites. What they have leaked, not only the passwords of those websites.
I don't know whether this is a big news in other foreign countries, but in China, I think it will be bigger after many people are hurt.
The websites which leaked the passwords I have confirmed were:
Facebook-like service - renren.com - 4,768,600
Leading IT development website - csdn.net - 6,428,632
Twitter-like service - webo.com - 4,765,895
The biggest Chinese online community website - tianya.cn - 31,761,424
Popular online game community website - 17173.com - 18,333,776
Popular online game community website - duowan.com - 8,305,005
Popular online game community website - uuu9.com - 5,577,553
Other common websites -16,144,539 total
In the future may have more passwords leaked, now it's over 70 million. It's really a very huge number!
And from my opinion, they are not just the hackers' faults. Because most of those websites are using unencrypted passwords in the databases. That's why hackers can easily get users' passwords, if they put the passwords into database with MD5, hash or own-created algorithm, hackers can not get them so easily.
I even felt angry about the csdn.net, as the leading IT development website in China, so many developers talk about the technologies on it, but it is also using unencrypted passwords like other websites in databases, really really shit!! Unforgivable! This is why when I saw their official apology to users I felt worse than before. I've given up it.
If you are a foreign visitor on my blog, any questions you can just ask me, I'd like to tell you what I know.


text:
Google Analytics allow admin setup Google Analytics Universial quickly by adding multiple tracking ID in store
You've just added this product to the cart:
This Google Analytics Universial extension discontinued, and all features included in Google Tag Manager
Google Analytics is the free Google service and almost webmasters rely on its role in evaluating the effectiveness of online marketing campaign specifically as the traffic to website and conversion rate into customers in exact period of time.
Google Analytics extension is provided in order to help Magento stores use Google Analytics functionality more easily and conveniently.
Store owners have rights to configure easily and customize in the way you need.
Beside the main tracking ID from Google Analytics registration, Magento supports the second tracking ID which allows getting the analytics at the same time without any delay.
As administrator, you can enable Enhanced Link Attribution feature to automatically differentiating between multiple links and the same URL on a single page. Thanks to that, your report about driving the traffic becomes more credible.
With Google Analytics extension, instead of real IP address, the anonymized IP can be used if you approve to guarantee user's privacy policy.
Trace Debugging will show extra information on the console with the full tracking snippet while you are following Google Analytics report.
Any questions, issues, bugs, please contact us at helpdesk
Posted by Art
on 06 February 2018
Verified Buyer
Basically does exactly what it says, lets you see more details about each customer. It also helps my marketer track our Adwords more effectively. The added link attribution and detailed stats provided let us see what's going on to change our website for better flow.
Posted by Vittorio - Italy
on 29 December 2017
Verified Buyer
Great Module. Easy istallation, without issue. Module work fine end is very helpful in site promotion. Thank you mageplaza for making free this unmissable module. I have installed other paid mageplaza modules as a Gift Card and everything works fine. Fantastic support. Vittorio - Italy
Posted by Carlos
on 13 December 2017
Verified Buyer
It works great with Analytics, and the second tracking id it's a great idea, but when it comes to the ecommerce transactions and events, the module lacks some more content. It works great and it's free so what more could I ask for. Thank you Mageplaza Staff
Posted by Shayan
on 13 December 2017
Verified Buyer
Loved the analytics pro! It has some great features and is some thing i needed, why didn't i find this before? I was hoping would have found this earlier, well it's never too late!
Posted by Kasam Panya
on 24 October 2017
Verified Buyer
Excellent support by Mageplaza
Posted by Milko
on 11 October 2017
Verified Buyer
The extension is very easy to install and most of the features works as expected. However I had problem enabling Enhanced Ecommerce.
Posted by João
on 11 July 2017
Verified Buyer
Great Extension! Thanks guys, Mageplaza works like a charm.


text:
I sat down yesterday afternoon to start my first 12″ square in the Moogly Crochet Along (CAL) and have to say I am very pleased with the outcome – although it wasn't for the feint hearted – I'm not sure a beginner would be able to follow the pattern!
So here is a sneak peak. If you want to know a bit more then check out my Moogly Afghan CAL Page – click on the link on the right of my blog (under Pages) to access it and get all the latest info and pics.