The DVORAK Experience

October 26, 2014 at 2:53 pm | Posted in Hacking | Leave a comment
Tags: , , , , , , , ,

A few months back I wrote about how I switched to DVORAK from QWERTY. Last week my logitech keyboard died and I searched for DVORAK keyboards and could not find anyone selling that online in INDIA. I guess INDIA is QWERTY, therefore I got myself a new DELL KB212-B wired USB2.0 keyboard. As per hardware quality, I will say for 440/- rupees it is damn good. DELL did a great job on manufacturing. I started typing on it and guess what, after using DVORAK for few months QWERTY arrangement felt so idiotic and dumb, not to mention painful, as if QWERTY was designed specially not for typing English words.  I was accidentally hitting DVORAK arrangement on QWERTY keyboard.  I have used QWERTY since the day I touched computer first time (10 years I guess) but subconciously my hands/fingers were never able to memorize more than half dozen key-positions but few months usage of DVORAK and now I can write 20 or more key-positions of DVORAK arrangement. Heck, I can draw full fledged DVORAK arrangement on paper just from my memory. With practice you can easily memorize any random key arrangement but mind you, I did not practice memorizing DVORAK. What I wean is: DVORAK matches human thought better than QWERTY.

I  did lot of search on QWERTY vs DVORAK vs XXXXXX and 99% of comparisons were based primarily relative to speed. Let me tell you again, speed, speed, speed, speed, speed, speed, speed, speed, speed, speed, speed and all comparisons were based on one criteria of speed. Everyone (especially the ones who are biased) have ignored the most basic requirement when it comes to typing: “comfort and ease of typing”.  I type almost whole day, I do programming and I write this blog and reply to my emails etc.  That is me. What about professional clerks and authors and fiction/non-fiction writers who have to type much-much longer hours.  Will you sacrifice your body (RSI and CTS) for just a keyboard habit ?  QWERTY does not give you more speed than DVORAK, it is the practice which does. All you have to do is change your habit to use DVORAK. Habit before Health or opposite ?

Well, I needed to chang the key arrangement. I noticed that keys were fixed, hence I could not change their places. Therefore, I decided to stick some handmade letters onto the keys and this is how keyboard looks like now. Trust me, I have not regretted a bit that my brand new keyboard looks like a children’s toy now. It is immense pleasure typing on DVORAK

Jpeg


Copyright © 2014 Arnuld Uttre, Village – Patti, P.O – Manakpur, Tehsil – Nangal, Distt. – Ropar, Punjab (INDIA)

Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice, and the copyright notice, are preserved.

The curse of QWERTY

August 6, 2014 at 6:37 pm | Posted in art, community | Leave a comment
Tags: , , , , ,

Two years back I started having pain in my hands, wrist joints, finger joints, neck and upper back. I searched about it and came to know lot of programmers face this and for some of them this pain turns into Repetitive Strain Injuries (RSI) or Carpal Tunnel Syndrome . This was serious . The height of chair and monitor and keyboard were pretty right and I did not feel any problem with that. Then the biggest surprise came in the form of DVORAK keyboard. I came to know that QWERTY keyboard was actually designed to slow down typing. You should check out DVZINE at http://www.dvzine.org/ . That is just one website with few solid articles. The problems with QWERTY keyboard are mentioned at so many places on internet that it is impossible to read them all.  QWERTY is such a disgrace for humanity and I am amazed that with so much advancement in technology we still manufacture QWERTY keyboards. I came across so many different keyboard layouts: Colemak, Workman and Norman among the popular ones. I like to improve myself and the pain in hands, finger joints, neck and upper back was much of motivation to try something. I chose DVORAK above Colemak and Workman because latter two were based on QWERTY. I think one can not design a new and better model to solve a problem if its design is based on a faulty old model. Norman layout I could not find on Arch Linux. In India only QWERTY keyboards are available (as per hardware availability), so the only option was to change software and Linux has so many possibilities and options that it made me more happier. You do not need to change hardware, just some settings as per your distro. I have logitech wireless K260 motherboard and I decided to change the placement of keys on keyboard manually to DVORAK along with software settings. This is how it looks like:


As you can see every key was a fit for every other socket except these four: F, U, J and H. These four keys were fitting only in their original positions, I don’t know why. Hence I put handmade stickers on them and this is how my keyboard looks now:

Using this for 3 months now and pain in hands and finger joints is gone. Neck and upper back pain have reduced to a much larger degree but not totally gone. All these parts pain a lot if I sit for longer hours in front of computer (6-9 hours or more). I am not a doctor and you should consult a doctor if you are experiencing pains then please do not postpon a modical checkup. Here aro some points that may help:

  1. make sure monitor is at a height from ground where your neck is straight when you look at it
  2. make sure your chair has cushion and flexible back support. You can adjust the height of your chair to a comfortable level.
  3. Keyboard and mouse need to be at comfortable height and distance

The best option is to find a good computer table according to your height and build. It is very easy, you know your comfort level within few seconds of sitting on that chair and putting your hands on table. Please do not type (for Desktop Computer) while sitting on bed. It will cause lot of discomfort for many days.

There are many scientists/researchers/gvernment-organizations who after doing lots of research have concluded that all these alternatives like DVORAK, Colemak, Workman, Norman etc do not offer any advantages over QWERTY because human mind can adapt to any random pattern of keyboards, that a person can type as fast on QWERTY as on any other random pattern. Well that may be true and I can agree to that and I do not give much damn if my typing speed is 20 wpm or 50 wpm but what about RSI and Carpal Tunnel Syndrome ? I am using DVORAK from 3 months now and one day I just wanted to try QWERTY again to see how it feels. It was horrible experience to use QWERTY again. My hands were literally moving from one corner of keyboard to another (diaognally) causing mugh stress and pain in fingers. With DVORAK most of the words (of English language) exist on Home Row and hence there is not much diagonal movement of hands when you type. My mind did not forget the QWERTY layout though but that one hour was torture. I switched back to DVORAK and till date never tried that again. Though I face problems because keyboard is changed at Operating-System level(software level) than hardware level. So, when I have BIOS or a bootloader at my disposal then it behaves like QWERTY keyboard because this is what it is as per hardware construction. But this is a minor isssue compared to 99% of my time which I spent in OS than in BIOS/bootloader.


Copyright © 2014 Arnuld Uttre, Village – Patti, P.O – Manakpur, Tehsil – Nangal, Distt. – Ropar, Punjab (INDIA)

Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice, and the copyright notice, are preserved.

Humbleness of comp.lang.c folks

June 26, 2013 at 4:06 pm | Posted in Programming | Leave a comment
Tags: , , ,

I mostly hang on comp.lang.c and sometime discussion go deep into technical details of C language while solving a current problem. At comp.lang.c, folks do not go into details for the sake of details but to solve a particular problem. I got stuck in some issue and was continuously referring to comp.lang.c and then to K&R2 and then to H&S5 and I discovered one error in H&S 5. Actually I did not even know this till Keith Thompson credited and mailed me on the discovery (he mailed Harbison too). You can get the original post at googlegroups or velocityreviews . I thought it is better if I share his kind and humble words here on my blog (I am kind of quite late to post this but better late than never :) ) :

Credit for finding this error goes to Arnuld Uttre, whom I’ve cc’ed on this e-mail (if I got his address right). It came up in a discussion on comp.lang.c, subject “strtoul() behavior”.

I have a first printing of H&S 5. On page 413, in the discussion of thestrto*() functions, it says (any typos are mine):

If no conversion is possible because the string does not match the expected number model (or is empty), then zero is returned, *ptr is set to the value of str, and errno is set to ERANGE.

In fact, errno is not set in this case. See C99 7.20.1.4p7:

If the subject sequence is empty or does not have the expected form, no conversion is performed; the value of nptr is stored in the object pointed to by endptr, provided that endptr is not a null pointer.

A quick experiment with one implementation shows that errno is in fact left as 0.

(A very small quibble: though the previous page mentions that ptr is ignored if it’s null, it might be worth changing “*ptr is set to …” to “*ptr (if it’s non-null) is set to …”. This is not actually necessary, but in my opinion it would make it slightly clearer.Feel free to ignore this.)


Copyright © 2013 Arnuld Uttre, Village – Patti, P.O – Manakpur, Tehsil – Nangal, Distt. – Ropar, Punjab (INDIA).

Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice, and the copyright notice, are preserved.

The Programmer Hierarchy

March 17, 2013 at 11:09 am | Posted in community, Hacking | Leave a comment
Tags: , , , ,

Recently I came across a chart created by Luke Welling showing programmer hierarchy. Seems like Luke Welling has pencilled facts:

chart-Luke-Welling

I googled for ‘Programmer Hierarchy’ and came across another chart by Dmitry Ignatiev. Thougdt I needed to share this too

chart-Dmitry-Ignatiev


Copyright © 2013 Arnuld Uttre, Village – Patti, P.O – Manakpur, Tehsil – Nangal, Distt. – Ropar, Punjab (INDIA). Copyright does not apply to charts shown here. Please contact authors for copyright terms of respective charts.

Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice, and the copyright notice, are preserved.

Why every C or C++ programmer must know pointers

March 4, 2013 at 9:00 am | Posted in C++, Programming | Leave a comment
Tags: , ,

Some computer science engineering students once asked me why it is so important to know about pointers in C and C++. They complained (and almost every computer programmer in industry complains) that pointers are so hard to learn and they can’t see why they should work so hard. I was travelling in MMTS (Local Train Service in Hyderabad). MMTS service uses several trains and compartments in few trains have a LED-Box where the name of railway station is displayed before train is about to reach the same. And here is how it shows railway station name sometimes :





Do you see the name there ? Those letters which look like boxes and Ys with tildes above on them are actually memory corruption rather than English language. Now I can guess the program must have been written in a language where programmer had to do memory management himself. Since it is a LED-Box, it must be a C or C++ prgram in embedded environment. This is a real-life result of not knowing how to respect memory constraints. My best guess is either prgroammer has some dangling-pointer in his code or he must have an array-overrun (a.k.a Buffer-Overflow). Imagine these situations:

  • Your C++ program does financial transactions for some company e.g. distributing salaries to its employees and your program uses a dangling-pointer to set salary amounts. With this dangling-pointer the CEO might get salary of a blue-collar worker or vice-versa.
  • Your C program is used in controlling a weapon like firing, pausing, continuous 20 seconds firing etc. With buffer-overflow gun may fire for 20 seconds continuously when you press pause.
  • Imagine your C program controlls a satellite orbiting around Earth being controlled from base station somewhere on Earth. Memory corruption can cause satellite to move left instead of right or even stop its motion or may burn all of its fuel while it orbits non-stop at full speed around earth.

These are some of the not so serious consequences of not knowing pointers. So, if you want to write correct C and C++ code, learn howe to use pointers. Yes, they are hard to learn and more than hardness, pointers requires experience. It is a very useful skill that will reduce debugging sessions from days to hours. Kernighen and Ritchie said in the preface of their book “The C Programming Language” printed in 1978 that C wears well as one’s experiecne with it grows. When 2nd edition was printed in 1988 (affectionately known as K&R2) they said they still feel same about C with decade more experience. They had a point (they had pointers in those 10 years ;) ). Experience makes a good C programmer and you achieve that by following the footsteps of masters. In order te be a brilliant C programmer, You need to follow brilliant masters. Start with c-faq.com


Copyright © 2013 Arnuld Uttre, Village – Patti, P.O – Manakpur, Tehsil – Nangal, Distt. – Ropar, Punjab (INDIA).
Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice, and the copyright notice, are preserved.

Next Page »

Blog at WordPress.com. | The Pool Theme.
Entries and comments feeds.

Follow

Get every new post delivered to your Inbox.