diff --git a/guide/english/accessibility/accessibility-basics/index.md b/guide/english/accessibility/accessibility-basics/index.md index c799ed1e9c..0e2f6369ed 100644 --- a/guide/english/accessibility/accessibility-basics/index.md +++ b/guide/english/accessibility/accessibility-basics/index.md @@ -10,25 +10,25 @@ title: Accessibility Basics Accessibility's role in development is essentially understanding the user's perspective and needs, and knowing that the web, and applications are a solution for people with disabilities. -In this day and age, more and more new technologies are invented to make the life of developers, as well as users, easier. To what degree this is a good thing is a debate for another time, for now it's enough to say the toolbox of a developer, especially a web developer, is as ever-changing as the so called "dark arts" are according to our friend Snape. +In this day and age, more and more new technologies are invented to make the lives of developers, as well as users, easier. To what degree this is a good thing is a debate for another time; for now, it's enough to say the toolbox of a developer, especially a web developer, is as ever-changing as the so-called "dark arts" are according to our friend Snape. One tool in that toolbox should be accessibility. It is a tool that should ideally be used in one of the very first steps of writing any form of web content. However, this tool is often not all that well presented in the toolbox of most developers. This could be due to a simple case of not knowing it even exists to extreme cases like not caring about it. In my life as a user, and later a developer, who benefits from accessibility in any form of content, I have seen both ends of that spectrum. If you are reading this article, I am guessing you are in one of the following categories: * You are a novice web developer and would like to know more about accessibility. -* You are a seasoned web developer and have lost your way (more on that later). -* You feel that there is a legal obligation from work, and need to learn more about it. +* You are a seasoned web developer and have lost your way. (More on that later.) +* You feel that there is a legal obligation from your employer, and you need to learn more about it. If you fall outside these rather broad categories, please let me know. I always like to hear from the people who read what I write about. Implementing accessibility impacts the entire team, from the colors chosen by the designer, the copy written by the copywriter, and to you, the developer. ## So, what is accessibility anyway? -Accessibility in itself is a bit of a misleading term sometimes, especially if English is your second language. It is sometimes referred to as inclusive design. +Accessibility in itself is a bit of a misleading term sometimes, especially if English is your second language. It is sometimes referred to as "inclusive design." If your site is on the Internet, reachable by anyone with a web browser, in one sense that website is accessible to everyone with a web browser. -But, is all content on your website actually readable, usable and understandable for everyone? Are there no thresholds that bar certain people from 'accessing' all the information you are exposing? +But, is all content on your website actually readable, usable and understandable for everyone? Are there no thresholds that bar certain people from "accessing" all the information you are exposing? You could ask yourself questions like the following: @@ -41,7 +41,7 @@ You could ask yourself questions like the following: * Does your application still work (progressive enhancement) assuming that JavaScript does not load in time? * If your website is very resource-heavy, will someone on an older device with a slow or spotty connection be able to access your content? -This is where accessibility comes into play. Accessibility basically entails making your content as friendly, as easy to 'access' as possible for the largest amount of people. This includes people who are older, deaf, low-vision, blind, dyslexic, colorblind, have epilepsy, have mental fatigue, have physical limitations, cannot afford new devices or high-speed connections, etc. +This is where accessibility comes into play. Accessibility basically entails making your content as friendly, as easy to "access" as possible for the largest amount of people. This includes people who are older, deaf, low-vision, blind, dyslexic, colorblind, have epilepsy, have mental fatigue, have physical limitations, cannot afford new devices or high-speed connections, etc. ## Why implement accessibility? @@ -53,7 +53,7 @@ However, doing this research is key in actually defending such a statement. Did If you did, good for you. If not, I guess this drives my point home all the more. -The picture gets even more complicated when we look at legislation that actually forces you to make certain websites and web apps accessible. A prime example is the US-based section 508. Right now, this law mainly refers to government organizations, public sector websites etc. However, laws change. +The picture gets even more complicated when we look at legislation that actually forces you to make certain websites and web apps accessible. A prime example is the US-based Section 508. Right now, this law mainly refers to government organizations, public sector websites, etc. However, laws change. Last year, airline websites were included in this list which meant that even here in Europe, airline website devs scrambled to make their content accessible. Not doing so can get your company a fine of literally tens of thousands of dollars for each day the problem isn't fixed. @@ -61,7 +61,7 @@ There are variations on this legislation all over the world, some more severe an ## Ok, so accessibility is a big deal. Now how do we implement it? -That question, sadly, is harder to answer than it may seem. The Harry Potter quote at the top is there for a reason, and it's not my being an avid Fantasy reader. +That question, sadly, is harder to answer than it may seem. The Harry Potter quote at the top is there for a reason, and it's not my being an avid fantasy reader. As I stated above, accessibility is important for a large group of different people, each with their own needs. Making your website work for literally everyone is a large, on-going task. @@ -79,7 +79,7 @@ The HTML specification is a document that describes how the language should be u ``` Guess what? All three of these elements break several criteria of WCAG and therefore are not accessible at all. -The first element breaks the so-called 'name, role, value'-criterium, which states that all elements on a web page should expose their name, their role (like button) and their value (like the contents of an edit field) to assistive technologies. This div actually doesn't provide any of the three, rendering it invisible to screen-readers. +The first element breaks the so-called "name, role, value"-criterium, which states that all elements on a web page should expose their name, their role (like button) and their value (like the contents of an edit field) to assistive technologies. This div actually doesn't provide any of the three, rendering it invisible to screen-readers. The second element looks like a heading visually after styling it with CSS, but semantically is a span. Therefore, assistive technologies won't know it's a heading. A screen-reader will read this as regular text, instead of a heading. Screen-readers often have a hotkey to quickly jump to the nearest heading, this heading will not be included in that scope. @@ -150,7 +150,7 @@ I guess the best way to illustrate this is by giving an example: ``` -This will make for example a screen-reader say "username, text edit field", instead of just reporting' text edit field' and requiring the user to go look for a label. This also really helps people who use speech recognition software. +This will make for example a screen-reader say "username, text edit field," instead of just reporting "text edit field" and requiring the user to go look for a label. This also really helps people who use speech recognition software. ### That's a tall order diff --git a/guide/english/bootstrap/carousel/index.md b/guide/english/bootstrap/carousel/index.md index 116586a2ee..79aed79459 100644 --- a/guide/english/bootstrap/carousel/index.md +++ b/guide/english/bootstrap/carousel/index.md @@ -4,7 +4,7 @@ title: Carousel ## Carousel Carousel is a slideshow component for cycling through elements like images or slides of text. -It provides a dynamic way of representing large amount of data (text or images) by sliding or cycling through, in a smooth fashion +It provides a dynamic way of representing large amount of data (text or images) by sliding or cycling through, in a smooth fashion. Sample Code of Image Slider is below : @@ -102,13 +102,13 @@ Understanding the attributes and classes used in above example: a) `data-ride` :- `data-ride ="carousel"` allows on page load animation to begin. -b) `data-target` :- It points to the id of the Carousel +b) `data-target` :- It points to the `id` of the carousel. -c) `data-slide-to` :- It specifies which slide to move on to when clicking on the indicators(specific dots). +c) `data-slide-to` :- It specifies which slide to move on to when clicking on the indicators (specific dots). ### 2) Classes -a) `carousel` :- `class="carousel"` specifies that the div contains carousel. +a) `carousel` :- `class="carousel"` specifies that the `div` contains carousel. b) `slide` :- This class adds CSS transitions. @@ -130,9 +130,9 @@ The `data-ride="carousel"` attribute is used to mark a carousel as animating sta `data-slide` accepts the keywords `prev` or `next`, which alters the slide position relative to its current position. #### 2) Via JavaScript Call carousel manually with: - -`$('.carousel').carousel()` - +```javascript +$('.carousel').carousel() +``` ### Options Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-interval=""`. diff --git a/guide/english/computer-hardware/hard-drives/index.md b/guide/english/computer-hardware/hard-drives/index.md index bb30a06aba..d0be896f44 100644 --- a/guide/english/computer-hardware/hard-drives/index.md +++ b/guide/english/computer-hardware/hard-drives/index.md @@ -8,24 +8,24 @@ Hard drives are permanent storage devices for computers. There are several types Traditional hard disks use magnetic needles and rotating magnetized platters to store data. Due to these moving parts, hard drives are easily damaged by drops and/or shocks. The motor that rotates the platters also consumes a lot of power, and yet no other storage method is as affordable for large volumes of storage. -Hard drives come in various storage capacities, with some even storing 10TB (10 trillion bytes). Typical computers come with 256GB (256 million bytes) to 1TB of storage space. Laptops usually use Solid State Drives (SSDs) because they are faster, lighter, and contain no moving parts, making them less likely to fail due to impact. For the same amount of storage, SSDs are generally more expensive than hard drives. Recently, some SSDs have been released that interface with the motherboard through the PCIe (PCI Express) bus slot using a system called NVMe. These SSDs have proven to be even faster at read/write times than traditional SATA SSDs. +Hard drives come in various storage capacities, with some even storing 10TB (10 trillion bytes). Typical computers come with 256GB (256 million bytes) to 1TB of storage space. Laptops usually use Solid State Drives (SSDs) because they are faster, lighter, and contain no moving parts, making them less likely to fail due to impact. For the same amount of storage, SSDs are generally more expensive than hard drives. Recently, some SSDs have been released that interface with the motherboard through the PCI Express (PCIe) bus slot using a system called Non-Volatile Memory Express (NVMe). These SSDs have proven to be even faster at read/write times than traditional Serial Advanced Technology Attachment (SATA) SSDs. Magnetic heads are responsible for reading and writing data, which is physically stored on a set of magnetically coated discs stacked above one another, referred to as a platter. The heads are located at the end of an armature. The interior discs of the platter have two heads on a single arm. This allows data to be accessed from both the discs, beneath and above the arm. The top and bottom discs of the platter only have one head at the end of an arm. On the opposite end of the arm is an actuator. It provides movement of the arm to travel from the center of the platter, the spindle, to the outermost regions of the platter. The amount of time it takes to place the head in the correct concentric location is referred to as the seek time. Once the head is in the correct concentric spatial location more time is spent waiting for the disc to rotate such that the sector with the requested data is beneath the head. This amount of time is referred to as latency. -The heads are positioned only a few nanometers away from the rotating discs. The heads are said to "fly" above the platter and as such the distance between head and platter is referred to as the 'flying height'. The heads are designed to never touch the locations of the platters that store data and are magnetically coated. Should the head 'touch down' on a platter, both the head and sectors of the platters may be destroyed resulting in data loss (hence the phrase "a hard drive crash" or "head crash"). +The heads are positioned only a few nanometers away from the rotating discs. The heads are said to "fly" above the platter and as such the distance between head and platter is referred to as the "flying height." The heads are designed to never touch the locations of the platters that store data and are magnetically coated. Should the head "touch down" on a platter, both the head and sectors of the platters may be destroyed, resulting in data loss (hence the phrases "a hard drive crash" or "head crash"). -Hard drives retrieve and store data from applications at the request of the CPU. This is referred to as input/output operations--IO for short. When a running program requires a certain piece of data, the CPU dispatches an instruction for the data to be fetched from the hard drive. Reading this piece of data is an input operation (from the CPU's perspective). The program may then perform a computation which changes the data and the results need to be stored back out to the hard drive. The CPU requests the data be written back out to the drive. This would be an example of an output operation (again, from the CPU's perspective). +Hard drives retrieve and store data from applications at the request of the central processing unit (CPU). This is referred to as input/output operations (IO). When a running program requires a certain piece of data, the CPU dispatches an instruction for the data to be fetched from the hard drive. Reading this piece of data is an input operation (from the CPU's perspective). The program may then perform a computation which changes the data and the results need to be stored back out to the hard drive. The CPU requests the data be written back out to the drive. This would be an example of an output operation (again, from the CPU's perspective). -Hard drive performance is measured primarily by two key metrics 1) response time, which is how long it takes a read or write operation to complete and 2) IOPS which is an acronym for 'Input / Output Operations per Second'. As the name would suggest, IOPS is a measurement of the maximum IO operations in one second. The primary factor in achieving maximum IOPS at the lowest response time is the hard drive's rotational speed measured in revolutions per minute (RPM). Common rotational speeds are 5,400 RPM, 7,200 RPM, 10,000 RPM and 15,000 RPM (commonly notated as 5.4K, 7.2K, 10K and 15K). Hard drives with higher rotational rates (RPM's) will have more platter real estate pass beneath the heads for IO operations (reads and writes). Hard drives with lower RPM rotational rates will have much higher mechanical latencies, as less real estate passes beneath the heads. +Hard drive performance is measured primarily by two key metrics: 1) response time, which is how long it takes a read or write operation to complete, and 2) IOPS which is an acronym for "Input/Output Operations per Second". As the name would suggest, IOPS is a measurement of the maximum IO operations in one second. The primary factor in achieving maximum IOPS at the lowest response time is the hard drive's rotational speed measured in revolutions per minute (RPM). Common rotational speeds are 5,400 RPM, 7,200 RPM, 10,000 RPM and 15,000 RPM (commonly notated as 5.4K, 7.2K, 10K, and 15K, respectively). Hard drives with higher rotational rates (RPMs) will have more platter real estate pass beneath the heads for IO operations (reads and writes). Hard drives with lower RPM rotational rates will have much higher mechanical latencies, as less real estate passes beneath the heads. -One simple tool for measuring hard drive performance metrics is called IOMeter (see link below). The program is very lightweight and easy to install. Once it is up and running, several different variations of workloads can be run to simulate data reads & writes to the disk. This data is analyzed and outputs metrics for read/write times, IOPS, as well as other useful metrics. Tests can be saved for consistent checks and the data can easily be parsed in a table or graph form. +One simple tool for measuring hard drive performance metrics is called IOMeter (see link below). The program is very lightweight and easy to install. Once it is up and running, several different variations of workloads can be run to simulate data reads & writes to the disk. This data is analyzed and outputs metrics for read/write times, IOPS, as well as other useful metrics. Tests can be saved for consistent checks, and the data can easily be parsed in a table or graph form. Hard drives tend to be categorized by use case (capacity or performance). Home PC's and general-use office workstations tend to use slower rotating hard drives (5.4K and 7.2K) which is fine for storing pictures and office files. However, large databases that support online banking transactions for instance, use the faster 10K and 15K RPM hard drives as they'll be components in an enterprise server or storage array. There's a tradeoff between a hard drive's performance and capacity, however. For instance, the largest capacity 15K hard drive available today is only 600 GB, whereas the largest capacity hard drive for the both 5.4K and 7.2K RPM is 10 TB. The 600 GB 15K drive is capable of 250 IOPS @ 3 ms response time (averages). Whereas the 10 TB 7.2K TB drive does not measure IOPS at a given response time, as it's not optimized nor intended for IOPS centric performance use cases. There are also other tradeoffs in price per GB, energy consumed and size (2.5" vs 3.5" inches). -Computers store data and files on hard drives for later use. Because hard drives have moving parts, it takes much longer to read a file from a hard drive than from RAM or cache memory on the CPU. You can think of a hard drive as a filing cabinet: a place to store things that we aren't using right now, but need later. You don't have enough room on your desk for all your papers, so you store things you aren't using right now in the filing cabinet. A computer does just this. It keeps files it is using right now in RAM, and files it might need later stay on the hard drive. Though RAM has access and response times that are two orders of magnitude faster when compared to hard drives, their typical capacity is 1-2 orders of magnitude less that a typical hard drive. You can fit reams of paper in the filing cabinet, but only a few on your desk. +Computers store data and files on hard drives for later use. Because hard drives have moving parts, it takes much longer to read a file from a hard drive than from random access memory (RAM) or cache memory on the CPU. You can think of a hard drive as a filing cabinet: a place to store things that we aren't using right now, but need later. You don't have enough room on your desk for all your papers, so you store things you aren't using right now in the filing cabinet. A computer does just this. It keeps files it is using right now in RAM, and files it might need later stay on the hard drive. Though RAM has access and response times that are two orders of magnitude faster when compared to hard drives, their typical capacity is 1-2 orders of magnitude less that a typical hard drive. You can fit reams of paper in the filing cabinet, but only a few on your desk. -Data stored in RAM is said to be fleeting whereas data written out to a hard drive is persistent. Meaning if the power suddenly goes out, any data that was in RAM is lost and will not be there after power is restored and the computer is booted back up. However data that was written to the hard drive will be there when power is restored. For this reason, modern operating systems and applications will periodically write session and application related data that's currently in RAM out to the hard drive. This way if the power goes out, only 10 minutes of data entered in a newly created spreadsheet that was being worked on for 3 hours preceding the power outage and not yet saved to the hard drive will be lost. These files are usually denoted with a tilde, ~ , and can be found in a temporary or temp directory or possibly located in a 'blind directory' whose contents are referred to as hidden files. +Data stored in RAM is said to be fleeting whereas data written out to a hard drive is persistent. Meaning if the power suddenly goes out, any data that was in RAM is lost and will not be there after power is restored and the computer is booted back up. However data that was written to the hard drive will be there when power is restored. For this reason, modern operating systems and applications will periodically write session and application related data that's currently in RAM out to the hard drive. This way if the power goes out, only 10 minutes of data entered in a newly created spreadsheet that was being worked on for 3 hours preceding the power outage and not yet saved to the hard drive will be lost. These files are usually denoted with a tilde (`~`) and can be found in a temporary or temp directory or possibly located in a "blind directory" whose contents are referred to as hidden files. ## Solid State Drives (SSD) @@ -33,14 +33,12 @@ Solid State Drives uses integrated circuits to store data. Therefore, an SSD has SSDs are commonly used as boot drives or storage for the most used applications and files on a system. This is because even though prices have dropped in recent years, SSDs are still more expensive than a traditional hard drive when considering cost per unit of storage. Also they have a lifetime, in the sense that their performance keeps decreasing as we write more and more data to them and eventually they need to be replaced. Thus, HDDs are still used for bulk data such as entertainment media (pictures, videos, music) and in data centers or server farms. Though here it is common for the Hard Drives to be accelerated with an SSD. -While most Hard Drives use either a SATA or SAS connector, Solid State Drives often use other connections that can handle higher bandwidth and lower latencies, with the most notable being PCI Express (PCI-e) where form factors such as M.2 or U.2 dominate. Though other form factors are available, such as Intel's 'Yard stick' form factor or PCI-e cards that look quite similar to a low end graphics card. +While most Hard Drives use either a SATA or SAS connector, Solid State Drives often use other connections that can handle higher bandwidth and lower latencies, with the most notable being PCI Express (PCI-e) where form factors such as M.2 or U.2 dominate. Though other form factors are available, such as Intel's "Yard stick" form factor or PCI-e cards that look quite similar to a low end graphics card. The one caviat to these is that they usually have a lower amount of full writes that the drives can do before starting to go bad. ## Solid State Hard Drives (SSHD) a.k.a Hybrid Drives - -Solid State Hard Drives fill a specific gap in between Solid State Drives and traditional hard drives. It combines the relative affordable cost of cheap magnetic storage in traditional drives and pairs it with a smaller capacity Solid State Drive with the intent of using the SSD portion to cache frequently used data to increase performance over a plain traditional hard drive at a marginal cost. Hence the combination of the two technologies creates a "hybrid device" that is cost effectively but still is able to benefit from the high performance of SSD drives primarily for low intensity workloads that mostly utilize read requests from the drive. - +Solid State Hard Drives fill a specific gap in between Solid State Drives and traditional hard drives. They combine the relative affordable cost of cheap magnetic storage in traditional drives and pairs it with a smaller capacity Solid State Drive with the intent of using the SSD portion to cache frequently used data to increase performance over a plain traditional hard drive at a marginal cost. Hence the combination of the two technologies creates a "hybrid device" that is cost effectively but still is able to benefit from the high performance of SSD drives primarily for low intensity workloads that mostly utilize read requests from the drive. #### More Information: