Disclaimer

The content of this blog is my personal opinion only. Although I am an employee - currently of Imagination Technologies's MIPS group, in the past of other companies such as Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Friday, August 19, 2016

Beyond Getopt: Doc + Test > CodeGen

For decades I have been automating generating code for boilerplate like command line parsing (getopt) and generating documentation for that code.  E.g. circa 1985 in my first job I wrote tools to generate manpages from what looks very much like Perl POD (Plain Old Documentation).



I admit to joining the "test-first" and "test-driven" bandwagon later. Grudgingly at first - Bob Colwell at Intel/P6 said "if it doesn't have an automated test, it doesn't exist".   With growing enthusiasm as I discovered Agile and refactoring circa 1996.



Yet for all of my love of automation (i.e. my laziness), I was never quite happy with getopt style functions, whether in C, C++, Perl, etc.  Often the standard libraries did not parse options the way I want:  E.g. typically I want options to be parsed strictly left to right, so that later options can override earlier options, so that you can create configurations and then customize. Except, e.g., when I want to disallow. E.g. often I want to have expression parsing as part of the options, so that you can say CPUSIM -cachesize=linesize*sets*ways -sets=4 ...  E.g. I want to be able to have the same or related options parsers for command line, environment variables, and config files.   E.g. I want modular, composable, options parsing - at Intel we called this "knobs" parsing, to the merriment of pommies - so that I can plug a cache model into the L2 position, and instantly get all of the appropriate options for that new L2 cache.  And so on.



Plus, of course, I always want to automate the creation of docs and help messages, so that they are guaranteed to be kept in sync wth the parsing code.



Many getopts libraries only automate the code generation.



Some provide help and documentation - usually perfunctory.   E.g. when you create the option, you may also provide a string saying what the option is for.



---



Today I tried something a bit different: I unified the documentation and the tests for command line arguments.    The simple examples were tests, automated of course.   More complicated tests were interleaved with the simple examples. Much more complicated outlined.



Rather like a literate programming approach.   Later, I googled refs such as that attached below.



I am quite pleased with this approach.  



---



In an ideal world one might automate all three: getopt codegen, help docs, and tests.  



Although one then worries about common mode errors and single points of failure or untestedness.



But it turns out that it is not that hard adding the getopt code.  Especially if too complicated, to many validation checks for regular getopt.   It is the creation of the documentation and the tests that is a pain.  If the tests are automated, the codegen is straightforward.





---



See related:





Getopt::Euclid - search.cpan.org:



Combining Literate Programming and Functional Unit Tests to Augment the Workflow and Documentation in Software Development Projects - DBIS EPub: "Combining Literate Programming and Functional Unit Tests"


Sunday, August 14, 2016

How to Start Wearing EyeGlasses in your 50s

---+ Summary

If you have had good vision all of your life and are only now starting to use glasses:

* Take advice, whether from people who wear glasses, or from vision care professionals (opthalmologist, optometrist, optician) with a big grain of salt. Most people in developed countries now wear glasses, so they are not used to issues people with formerly perfect vision may have on starting to wear glasses.

* Do NOT purchase progressive lenses.  They are very disappointing for somebody who is used to be able to move eyes to focus anywhere without moving head.

* Purchase clear single vision driving glasses, if needed. Get clip-on flip-on sunglass filters, for use when driving into the sun; remove and use the clear glass at night, or possibly "fitover" sunglasses that go over your eyeglasses.

 As of this date (Aug 2016) there is no satisfactory solution for a single pair photochromic tint-changing eyeglasses for driving, usable both day and night.  If you need driving glasses both day and night, and you don't want clip-ons, you will need to buy two pairs, one day, one night.

* Purchase single vision reading glasses, if that's what you need.

I have not tried photochromic lenses. Sound good, maybe next time.

I have not tried bifocals or trifocals, burned as I was by my bad experience with progressives; they may be the 5th or 6th pair I try.

I am optimistic about variable focus lenses, but the market seems sparse and the range of vision restricted.

I like the largest possible lenses for the largest possible range of view. Extra large aviators or rectangular frames/lenses seem to be the largest available - 64mmx56mm.

People who have worn glasses for years often have several pairs, purchased as their prescription changed.  New eyeglass wearers may not have this luxury. I recommend purchasing single vision of whatever prescription you need most (near/far/middle). Clear - certainly if for driving, probably for indoor reading.

Finally: I think vision is a field begging for new technology, like variable focus lenses. Although I do not know how much medical regulation constrains innovation. You need to come from not wearing eyeglasses to see how primitive eyeglasses are.

---+ Details

In my youth I had extremely good eyesight. "Fighter pilot eyes", I was told when I was applying to Canada's College Militaire Royal (I chickened out because I was warned that my allergies might result in me not being accepted to pilot training, and because the IIRC 10+ year commitment - 4-5 years at CMR, 5 years after graduation, + 2 years extra as a pilot - seemed like a very long time way back then).

However, almost 4 decades of computer use have degraded my vision. I got my first prescription eyeglasses 2 years ago, and recently got two more pairs. My vision is holding steady - I wanted new glasses because I had bought the wrong types of glasses back then - and because my insurance plan would only buy me new frames once every 2 years.  (I remain cheap.)

The purpose of this blog entry is to record what I learned about eyeglasses, and hopefully help somebody else avoid making the mistakes I made with my first eyeglass purchases.

---++ Take Advice - Carefully

To start: take the advice of people who wear glasses with a very large grain of salt. Something like 75% of Americans wear glasses or contacts, many of them since childhood.  Most of them do not remember what it is like to have perfect uncorrected vision - and certainly not "more than perfect" vision.  (IIRC I had better than 20/20 vision when I was young - 20:10 and 40:20.)  They probably do not realize how much of a change it is to have to start wearing glasses.

This includes taking the advice of vision professionals - opticians, optometrists, and opthalmologists - under advisement as well. Not only is it likely they do not know realize how much of a change, but their advice may also be influenced by what sorts of glasses sell best.

---++ Progressives - Just Say No(to Vanity

My big, expensive, mistake was thinking that "eyeglasses are an old, established technology", and figuring that I would get the best glasses that my insurance company would pay for.  This seemed to be "progressive" lenses,
true "multifocal" lenses that provide a seamless progression of many lens powers for all viewing distances.
I really need reading glasses for close in, but I had noticed occasional, rare blurry vision, usually when tired, both using my computer (display about 2.5 feet away from my eyes when using my treadmill desk, a bit closer when sitting), and at night or during bright sunlight, e.g. sunrise or sunset.  My vision test revealed a slight astigmatism that, when corrected, helped my distance vision.

(Aside: in an ideal world you would take several vision tests - so called refractions - at different times of the day, at different stages of fatigue.  Also, Zeiss recommends  Diabetics are recommended to have their eyes tested at different times of the day and to consult an ophthalmologist if necessary and also notes that Zeiss' "objective refraction tests" can determine whether your night vision needs different correction than your day vision. However, your opthalmologist-optometrist-optician probably doesn't have the necessary equipment for an objective vision test, and can only give you a subjective vision test.  Also, your insurance will probably not pay for multiple tests - mine does not.)

So, "progressive lenses sound good - one pair of glasses that could satisfy all of my needs?"

BZZTTTTT!! WRONG!!!! At least for me.

What I had not realized - what I probably should have realized - is that with progressives only a very small region is in focus.  When reading a book, often only one or two lines of text were in focus. Sometimes less than a full line of text, for large fonts: the bottom of an S might be in focus, but not the top. Furthermore, I often found that a line of text in a book might be in focus in my left eye, and in my right, but not right in the center.  What I had not realized - what I probably should have realized - is that people who uses progressive are in the habit of moving their head left, right, up and down to focus on things. Whereas I, with my formerly good vision, was (and still am) used to moving my eyes and focussing near or far without needing to move my head

I was able to drive with progressives, but I had to tilt my head or adjust my glasses, and I often needed to tilt my head up or down to read road signs.  It seems that people using progressive lenses are looking at the world through a narrow crack - which is actually quite worrying when you realize that you are sharing the road with them.

Overall, it seems that much of the marketing for progressives is vanity, hiding the fact that you are aging. If I had known this I would probably have tried bifocals or trifocals - I don't care about lines in my glasses - but I have not tried them yet. Cheapskate. Plus I like the largest possible range of vision.

---++ Adjustable Focus Eyeglasses - in My Dreams

Aside: true variable or adjustable focus eyeglasses are available, from the likes of Adlens, Superfocus, Empowered, Adspecs and Eyejusters. Of these, only Adlens seems to be widely available. Superfocus and Empowered seem to have gone out of business. Adspecs and Eyejusters seem to mainly motivated by charity, making eyeglasses available to poor countries, with "Buy One Donate One" offers.  I tried several of these after I realized how useless the progressive lenses were - several of them are much cheaper than regular glasses, especially without astigmatism correction.  Overall, they work, but are not great (for this pampered westerner). Small field of vision. Plus, one of them is only one time adjustable - you have to break off a plastic tab preventing you from adjusting later.  A hacker.acquiantance, "Ches" (Bill Cheswick), liked his Superfocus glasses enough to buy a second pair, but was not wearing them when I last saw him at a workshop. I might have purchased them myself - I am often a gadget-happy too-early-adopter - but they were no longer for sale. At the moment, Adlens appears to be main player in this market. I tried their Alvarez lens - small field of view. Inventors and startup companies with new technology  pop up regularly in the news, but peter out.

---++ Driving Glasses, Sunglasses, PhotoChromic => Uncool Dad

When I purchased the unsatisfactory progressives I also purchased single vision sunglasses, for driving into the sun and spotting while on the water. These have been satisfactory. I don't need them much, but they help when necessary. I have been needing them more and more - ah, the joys of age!

My only complaint about these "driving glasses" is that they are sunglasses, and hence not useful at night.  I don't regret getting all of the fancy sunglass features - polarized, glare reduction, etc.

I do regret not getting some form of tint adjustable photochromic glasses, like the Transitions lenses that used to be advertised so widely on TV (still may be - I watch very little TV nowadays).  Or, at least I would regret not getting photochromic lenses - except that there is no perfect choice of photochromic lens for driving.

Back in 2014, most opticians warned that photochromic lens would not change tint inside a car, because the car windows filtered the UV that drives the transition. Rather defeats the purpose for driving lenses. My own research discovered some photochromic lenses that would work inside a car, whether extra-sensitive to UV, or dependent on less filtered wavelengths. But I played it safe.

Now, in 2016, photochromic driving glasses good for night and day have ALMOST arrived. E.g. see Transition's comparison chart. Their DriveWear brand "fully activates" "behind-the-windshield", but they forbid you to use DriveWear glasses at night, since they never turn completely clear.  This would be worrying if you want to use such driving glasses mainly around dawn and twilight, in mountainous country with big, dark, shadows. The original Transitions Signature line and the Vantage line do not activate behind-the-windshield. The Transitions XTRActive line attains "moderate activation" behind the windshield, but lacks the polarization of the Vantage or DriveWear lines. All of the Signature, Vantage, and XTRActive lenses are recommended to drive at night (note that this was not apparent on the comparison chart - had to search for other marketing material).  But only DriveWear is recommended for prescription sunglasses.

Friends (salt!)  recommend photochromic far seeing outdoor glasses for use both inside and outside the car, with clip-ons or wearovers for use while driving.

You can also get photochromic "overglasses" - would not help in the car, but might help while on the water or snow.

I have not yet taken these friends advice, mainly because I have already spent my budget for the next couple of years, but also because (1) The photochromics that are most recommended for driving, e.g. the Transitions Signatures that turn fully clear, do not seem to be very good sunglasses; (2) the best Transitions sunglasses, the Vantage with variable polarization or the XTractive that are darkest, neither turn completely clear, and (3)

Photochromic lenses ... have been shown significantly to reduce light transmission compared to uncoated lenses, which may reduce the likelihood of identifying navigation lights. Seafarers should be advised not to wear glasses with photochromic lenses or glasses that are permanently tinted when undertaking lookout duties at night. (From the Norwegian Center for Maritime Medecine.)

Bottom line: my hope was vain, of being able to have a single pair of photochromic driving glasses, usable from night through sunrise/sunset to bright daylight near glaring ocean.

---++ Low Tech

So now I have the old prescription sunglasses I bought two years ago, and a new pair of non-tint driving glasses in case I need them when driving at night. Suboptimal: expensive, and a hassle.  I have also purchased "clip-on flip-up sunglass lenses that may permit me to carry only the single pair of driving glasses around.  My teenage daughter already thinks I am totally uncool.

Friends (salt! salt!) recommend wear-over sunglasses - large sunglasses that can fit on top of your eyeglasses.


---++ Lens Size - the larger, the better to see with!

Which brings me to my next to last point: lens size.

Since I am used to being able to move my eyes around, it helps to have the largest possible lenses. DEFINITELY UNCOOL.

Most of the frames my optician has available seem to be motivated by vanity: stylish glasses, with a restricted field of view.

Extra-large aviator lenses were the largest lenses I could find (more specifically, extra large aviator frames, lenses to match).  I am mostly happy with these, except that they leave a big uncorrected gap at the bottom - exactly where I cast my eyes down to look at my keyboard, or to read a newspaper broadsheet, or to see what I am about to trip on in the woods.  I only learned, when I was searching for clip-on sunglasses, that "Extra Large Rectangle" glasses have bigger lenses than "Extra Large Aviators", 64x56 vs 63x51. Next time...

---++ Purchase Strategy

Don't do what I did: don't jump to expensive glasses right away, especially not progressives (which I did mainly hoping to get away with having to track only a single pair).

Friends (salt! salt! salt!) recommend purchasing cheap clear glasses, typically on the web.  20-40$ seem ballpark. 

You may use all your vision insurance benefits - depending on insurance, you may not be able to access unused dollars.

The cheaper glasses may not get the largest lenses :-(

The cheaper glasses may not be scratch and break resistant.

But you can experiment, and figure out what works.





How to encode URL for HTTP over unix domain sockets? from Claes H on 2008-10-09 (uri@w3.org from October 2008)

How to encode URL for HTTP over unix domain sockets? from Claes H on 2008-10-09 (uri@w3.org from October 2008):

What would be a good way to encode URLs for communication using HTTP
over Unix domain sockets?
...Background: I have for a while wondered why HTTP is rarely used for local RPC, since it is has been so successful on the Internet. Using it over TCP on localhost is certainly possible, but it can be argued that it has security and performance issues, so other options are chosen.
'via Blog this'



Claes:


I found email from you in an archive at https://lists.w3.org/Archives/Public/uri/2008Oct/0000.html

How to encode URL for HTTP over unix domain sockets?

Date: Thu, 9 Oct 2008 21:47:10 +0200
Background: I have for a while wondered why HTTP is rarely used for
local RPC, since it is has been so successful on the Internet. Using
it over TCP on localhost is certainly possible, but it can be argued
that it has security and performance issues, so other options are
chosen.

Q: did you ever get any answers to this?

Has there been any movement on this?

Do you know of any HTTP client (ideally, a webbrowser) that can access unix domain sockets, using their filesystem names?

Ditto HTTP servers - although for my current purpose that I can code myself, e.g. modifying Perl CPAN's HTTP::Server::Simple to support AF_UNIX.

Every decade or so since the 1980s (yes, before the web) I go looking for this, and I must admit that I am amazed that it does not exist (Which I suppose suggests that I should get off my lazy ass and write it, adding support to an open source webbrowser like FireFox.)


If you want to use localhost to develop a web service, you either need to trust all applications on your local host, or you need to build a proper authentication and security system.

IMHO nobody should ever trust all applications on your local host.  Certainly not back in the day when your local host might be a university VAX shared between hundreds of students.   But IMHO also not nowadays, with mostly single user PCs or phones - because malware may be trying to break into your system, and if it breaks into a non-privileged user account but can access localhost it can ask whatever is at the other end of a localhost connection to do stuff.  And since I am imagining a system where software under development is using localhost, it may not validate requests as well as one would like. 

UNIX domain sockets subject to filesystem permissions are in many ways an authentication and security system that is factored out separate from the HTTP server.

Failing this, one needs to have a proper authentication and security system set up from the very moment one starts developing a network service.  Or else you are vulnerable to attacks while your software is under development.


Wednesday, August 10, 2016

My DisplayLink USB Display does not work when moved on MacOS X

BRIEF:



If UDSB display adapter connected to MacBook

is recognized, but not actually working,

try un-re-plugging Thunderbolt between MacBook

possibly 1-2-3 times.



DETAIL:



I use USB display adapters quite a lot, chiefly the Diamond BVU195 based on DisplayLink IP.



I use them a lot - one each at home and work - although less so now, since the Mac I am currently using can only drive one USB Display Adapter if a 30" 2560x1600 display is connected via HDMI or Thunderbolt, whereas with my old Windows tablet PC I often drove 2 or 3 USB display adapters. (Need to retry with El Capitan MacOS upgrade - I can hope that this may be fixed.)



Anyway... a very annoying problem with using these display adapters on a MacBook is that recognizing them when I move my Mac from work to home can be very slow, sometimes so slow as to seem never to happen. Similar slowness when moving from home to work, but perhaps not so long lasting.



At home I use a Belkin Thunderbolt dock, connected to a 28-port USB hub. At work, no dock, just a 7 port USB hub.



DisplayLink says the usual - unplug cables and power, ultimately rebooting MacBook. The last usually works. But it is a pain to have to reboot so often.



Sometimes just waiting works.  But it is a pain to wait an indeterminate amount of time, and then rebopot if still not working.  Walking away to do something else while waiting for the USB display to be recognized can hurt, because the problem seems to be worse if the MacBook goes into sleep after being plugged in but before the USB display is recognized.



UN-re-plugging USB and power does not help.



This morning, un-re-plugging Thunderbolt between MacBook and dock was what did the trick.  Had to un-re-plug Thunderbolt twice, because the DisplayPort display  nearly always comes up fuzzy the first time.



My DisplayLink device does not work at all when connecting on Mac OS X. – DisplayLink Support:



'via Blog this'

Friday, July 29, 2016

Zero breaks "swiping up"

BRIEF:

The original Zero app, with its triage mode that allowed you to swipe up to archive email was great.

But updates to the Zero app broke thus triage mode. At the moment the Zero app is just yet another yawn inducing email app. It will not be worth using, installing, or purchasing until they fix triage mode so that you can swipe up to archive.

Swiping up/down is significantly more efficient than swiping left/right because humans have opposable thumbs.


DETAIL

My original review of Zero is below. When Zero first came out I gave it 5 stars. I would have paid 50$ or more if Zero had ActiveSync support to allow me to use it with my company's Exchange servers (IT disallows IMAP).

But every few months they update Zero, and every time they update Zero my rating goes down. I haven't used Zero in months. I really should give" it the lowest possible rating, 1 star (zero stars if possible), but I give it 2 for now because I hope it may go back to being worth using. I try every update, but give up disappointed.

Here is what I like about the original Zero app: triage mode. A mode where you see one email, and can swipe up to archive it, or do something else (back then, hit star) to keep it in your Inbox marked as read. Swipe left to look at in more detail, etc.

Indeed, before using Zero on iPhone I used a similar app called Triage on Android. Similar "swipe up to archive" interface.

This "swipe [up] to archive interface" allowed me to empty my Inbox quickly. One quick swipe, rather than tap to read, hunt for a button to archive or otherwise handle. One easy swipe, rather than a lot of finicky small movements. Speed is proportional to ease of UI action.

Sure, the original Zero had shortcomings: My main complaint was lack of Exchange ActiveSync support. Also, I want to use this triage "swipe to process" on other mail folders: e.g. I have rules to sort mail into high and low priority bins, and for different projects and clients. It simplifies time tracking when I am not mixing mail from different projects. Plus, better standard mail tools, like move or copy to folder.

But, even without those, the original Zero was useful. Unfortunately, the updated have removed the feature that made Zero special.

Zero's updates have, for the most part made Zero more of an ordinary email app. Better rendering, different buttons, swipes in the message list. Not bad, but I can't see any reason to use Zero rather than another mail app. Originally, I used Zero's triage mode, and then switched to another app like Outlook to do non-triage email processing (also to read email in the rule based folders that Zero's triage mode cannot access).

Unfortunately, from my point of view Zero's updates broke triage mode. :-(

Sure, the updated Zero still has triage mode. Plus, it has more swipe actions: swipe left to archive, right to keep. (As opposed to swipe up to archive in the old Zero. Also, the new Zero has no swipe up or down)

In some ways the new Zero is more symmetric: swipe left to archive, right to keep, as opposed to the old swipe up to archive, tap a star icon to keep.

Unfortunately, it turns out that swiping UP or DOWN is important for the most frequent actions. At least for me - and I suspect for many other users. Something similar arises in apps like FlipBoard - a rather successful app, whose initial success was largely due to swiping up or down vs left to right.

On an iPhone held in your hands, one or two handed, swiping up or down with your thumb is faster, easier, less muscle strain than swiping left or right.

Swiping up or down uses the big joint at the base of the thumb, and the big muscle that "swings" the thumb. Eg imagine holding your hand out, fingers splayed, and swing the thumb to the other fingers, or across the palm. I.e. the muscle that gives us the opposable thumbs that are so important to our success as the human species.

Whereas swiping left or right requires bending the thumb at the joint closest to its tip. Finicky small muscles. Muscle strain inducing movements.

Like many people, I suffer from thumb strain, and from other RMS problems. Swiping up or down reduces such strain. Swiping sideways increases it.

Swiping up or down also allowed me to change which thumb was doing the swiping. Swiping left or right means that swiping away gets stressed on the right thumb, swiping in gets stressed on the left thumb.

Swiping up turns out the be slightly easier than swiping down - the hand grip strength, versus the jam that rock climbers use to stay in a crack. But up or down is 2-4x less stressful than left or right. So swiping up should be used for the most common action, down for the next most, side to side for less common.

If you are able to hold your phone so that the big joint of the thumb is directly beneath the home button, you can swipe side to side easily. Most people cannot do that. Similarly, if you lock the phone on portrait mode but hold it in landscape mode, your thumbs can actually swipe up and down although the app thinks they are left/right. But you have to be able to read text sideways to do this.

This may seem like a small thing, but it is not. Reducing stress, and allowing email processing to be done quickly is important. I doubt that Zero will be useful to me until they restore the ability to swipe up to archive.

Until then, I actively recommend most people do NOT use Zero. I regret purchasing it. At the moment Zero is just yet another yawn inducing email app.

Triage mode is the thing that made the Zero app worthwhile. But they broke it. I hope that they fix it someday.

--- my original review
--- unfortunately no longer applies

I love Zero. Helps me keep on top of my email, approaching elusive "Inbox Zero". Only problem is that Zero does not use ActiveSync, so I cannot use it for work. I emailed the developers a few minutes ago saying I would pay 50$ if Zero supported SctiveSync. 50$ in a world of 5$ apps - that is how much I like Zero!!!!

Thursday, July 28, 2016

FitBit: Goal Day Challenge Not Calculating - Infinity ... - Fitbit Community

Solved: Re: Goal Day Challenge Not Calculating - Infinity ... - Fitbit Community:



I just had the same problem: 12k steps on my FitBit, and in app, and in webpage, but infinity as reported in one of the challenges I was participating in. (But not in a different challenge.)
 



"Fixed" by quitting, and then having a friend invite me back in.
 



Nevertheless this is a bug.  It may be a SW bug in FitBit, an uncorrected DRAM error - or, worse, evidence of iPhone malware breaking in. Possibly through a bug in FitBit, possibly through some other iPhone vulnerability such as the recent https://www.theguardian.com/technology/2016/jul/22/stagefright-flaw-ios-iphone-imessage-apple
 



I am doing a factory reset now, but it may be too late - the malware may have already stolen all of my passwords and emptied all of my bank accounts.
 



This sort of +infinity bug is more scary than a "the FitBit iPhone app won't let me do...", because the +infinity indicates data corruption.
 
FitBit should fix this bug, if it is their bug.



'via Blog this'

Saturday, July 23, 2016

Triple-Parity RAID and Beyond - ACM Queue

Triple-Parity RAID and Beyond - ACM Queue: "A Classification
for Triple-parity RAID

None of the existing RAID classifications apply for triple-parity RAID.  ... The next obvious choice is RAID-7, but rather than applying the designation merely to RAID with triple-parity protection, RAID-7 should be a catch-all for any RAID technique that can be extended to an arbitrary number of parity disks. Specific techniques or deployments that fix the number of parity disks at N should use the RAID-7.N nomenclature with RAID-7.3 referring to triple-parity RAID, and RAID-5 and RAID-6 effectively as the degenerate forms RAID-7.1 and RAID-7.2, respectively."
'via Blog this'
I reject this RAID-7 terminology.  Or, rather, I find this terminology not useful - not useful for thinking about, explaining, extrapolating.  If Marketing needs to use RAID-7, fine, let them - I will translate to what



The original RAID terminology was never coherent, arbitrary numbers, mixing considerations like bit, byte, and block level, dedicated parity disk versus rotating the parity, etc.



More and more, I am starting to use meaningful notations like





  • Rd+p = redundancy, with d data disks and p parity (or other) disks.
    • e.g. assuming striping at fixed size block level, and that all rotate parity 
      • Rd+1 = classic RAID-4, with d data disks and 1 parity disk, 
        • R4+1 = 4 data disks + 1 parity disk
        • R2+1 = 2 data disks + 1 parity disk
        • R3+1 = three data disks + 1 parity disk
      • R1+1  = ??  arguably, a mirror, see below
      • Rd+2 = d data disks + 2 parity = classic RAID-6
      • Rd+3 = RAID-7 as proposed above, with triple parity
By default we may assume that there are stripes that contain all of the data disks and parity disks.

However, there is value in thinking about different nesting or grouping for higher levels of parity or reconstruction codes.  e.g. L1-parity may be within a stripe, L2-parity may be across a stripe of stripes, i.e. recursively nested, or across a different stripe that intersects the current stripe in only one disk. The write overhead grows in either case, especially for partial stripe writes, but less with intersection than inclusion.

I.e. you may have Rd+p, but you may have D > d+p disks.  No, I don't have a good notation.

An extension to the notation describes not the amount of redundancy, but also how many disks can be lost.

E.g. Rd-f, with d data disks, able to tolerate the failure of f disks.

Typically   Rd-f => Rd+f,  but not necessarily logical/physical  storage proportional to d/(d+f).  As mentioned above, the reconstruction codes may be calculated on nested or intersecting groups, e.g. R4+1 groups nested in an R12+1 group 4/5*12/13 = 48/65.  (Assuming that this is truly R*-2.)  (I am not advocating this, or even asserting that this is possible -m I just want a notation that can describe it.)