Learn from Ignorance
What prompts a person to learn? I have been trying to find an answer, especially in the context of work. For many, once out of educational system, learning becomes almost a matter of choice. The highest hurdle in making this choice is the refusal to accept ignorance. We have built a culture around us where ignorance is considered a shame.
Look around! Many of us are trying to convince ourselves that we know, especially in the areas of our specialty or work. Seldom we realize that those confidence-boosters become obstacles in our learning process. The first step in learning is to learn of our ignorance, and to accept it. That's when we beat the hurdle and choose to learn.
I wonder whether Sir Isaac Newton realized it when he remarked, "I do not know what I may appear to the world, but to myself I seem to have been only like a boy playing on the sea-shore, and diverting myself in now and then finding a smoother pebble or a prettier shell than ordinary, whilst the great ocean of truth lay all undiscovered before me"!
Say Cheese!
A few years back, when the book Who Moved My Cheese? was in the list of top-sellers, everyone talked about change frequently and daringly. Change is inevitable in the universe and life, that we all must be prepared to deal with. But all changes need not bring desirable results. Success of a change depends on the current situation, our knowledge on it, and the acceptation of it's results.
Along with change comes the restraint to change - which is good. In life, the restraint to change is often a mental block, or a fear that the change may not work, or some emotional ties. While many ask us to suppress these restraints, I would say, these can be used wisely to evaluate the situation objectively, to analyze the new or changed situation.
Another aspect of change is the courage to change. First it requires courage to accept the situation, conquer the fear and destroy the barriers. Then it requires courage to accept the change and live with it. I guess this is where all the inspirational books and speakers concentrate - threatening us to make the move, preparing us to face the unknown. Just remember only this - courage is different from daring!
Everything flows, nothing stands still. Change is inevitable. If you know your restraints well, if you have the courage to accept the change, you can always remain "Say Cheese".
Circle of Trust
Since I joined the Orkut community, I have been noticing a lot of hits coming to this site from Orkut. I couldn't help, but thinking and searching about Orkut.
Orkut is a social networking site designed by Orkut Büyükkökten - a turkish software engineer - as a personal project in Google. It has grown into a phenomenon with the help of netizens, dedicating their time and "relationships". But I was particularly intrigued by one of the most important aspect of any social network. Privacy!
Reading through the fine-print, I understand the privacy of our personal information (date of birth, address, phone etc.) is safe with Google (unless we choose to publish it - then there is no question of 'privacy'). After going through many articles, and spending some time in Orkut, my opinion is that privacy in Orkut depends on one of the basic elements of social networks - trust.
There is a new feature in Orkut - mutual friends - which is something worth looking at. It creates inexplicit communities. You can traverse through this 'mutual friends' to get a complete picture of the community you are interested in. I am reminded of the efforts we spent in 'customer grouping', 'householding' activities in many Customer Relations Management (CRM) projects. Again, this feature works only in our friend circles, and that's good.
For these reasons, whenever I logon to Orkut, I imagine the O as a circle, a circle of trust, and that it comes first.
Interactive Financial Exchange
Evolution in any form is to bring in complexity to the system. It is universal and inevitable. Now we are talking about banking industry, its language and the messaging systems that form the backbone of the industry.
Back in 1970s when computers were introduced in banking, the messages and files were mostly proprietary. Soon the industry realized the power of networking and common standards and numerous attempts were made to make the messages interoperable. In those days the resources were limited and most of the messages and standards that were devised aimed at transferring data efficiently between the end-points. The hardware devices used crude messages, while the programs were much more flexible.
In the next couple of decades, computing grew leaps and bounds to form the gigantic World Wide Web that covered the earth. The possibilities of interactions increased, even surpassing the national and geographic boundaries. The cost of transportation and storage of data steadily went down, while scope and size kept increasing unpredictably.
The messaging standards introduced were soon withered and dried in the process. Two notable standards that still stand against the wind are OFX (Open Financial Exchange) and Gold. They were on the right track but seriously limited in covering the entire scope of financial industry. Nevertheless, the two standards provided the base on which IFX could be built up - to be an open, consistent, extensible, and universal standard.
The IFX Forum, a working group consists of veterans in financial and technical domains, chart down the specification and publish it periodically. The standards are accessible to anyone on the web, and are open for inspection, suggestions and corrections. The huge effort that is put voluntarily in the development of this standard shows another trend of the times - to be open. Openness invites faster verification and adoption of the standard into the industry.
A great deal of care has been put into the development so that the standard remains consistent across various arms of the industry. Consistent naming, consistent structure and strict behavior mark the standard differently from the legacy messaging systems. The specification is divided into three classes: Business Message, File Format and Transport. The working group has envisaged the broad classification as the industry demands interoperability of different channels than the replacement of one with another. An example of an IFX message would be an ATM transaction (business message), formatted in XML (file format) sent over HTTPS (transport).
The ever-increasing scope of business messages increase two-dimensionally. In the domain new services are added and existing facilities are extended. In technology new channels are invented while the existing technologies can be hardly thrown away. These necessitate the extensibility of a standard that can cover the new and existing features alike. It should be also possible to discard the unused and unwanted features with equal ease. IFX is implemented over XML architecture which itself stands for extensibility. The proven concepts of object oriented methodology are also adapted in the development.
Another noted achievement in IFX is the universality of the standard. IFX already supports vast areas in financial industry covering the basic and advanced services in banking, payment, credit cards and presentments. Soon the IFX will pitch into insurance which is seen separately until recently. In the technology IFX spans from simple message system to complex Electronic Data Interchange based transactions.
IFX defines the entities such as Bills, Payments, Customers, Services, etc. as objects. There are six operations that can be performed over these objects, viz. Add, Modify, Delete/Cancel, Inquiry, Audit, and Synchronize. The messages are classified according to its directions, Request and Response. IFX also provides the sign-on and sign-off messages and session services.
Some of the current banking services include, account, statement, account transaction, interest rate, account taxation, foreign exchange rate, stop check, funds transfer, recurring funds transfer, check order, deposit book order, debit authorization, credit authorization, debit, and credit. The payment services include payee, payment, payment authorization, remittance and recurring payment. The operations on these services vary depending on the type of the service.
The extensibility and the universality always come with a price. When compared to its predecessors in the legacy environment, IFX implementations demands more processing power and storage facilities. Intelligent and PC based devices can handle volumes of data and may bring sudden surge of data as they replace the traditional devices. Think about the multitude of ATM transactions converted to wordy XML messages zipping across the world. This also brings in another twist to the tale as conventionally the financial institutions relied on the legacy systems. As these systems still struggle to catch up the new ways and waves of computing, the endless possibility of distributed and network computing stands poised at the other end.
The banking industry and its technologies are reaching a turning point to adapt newer and better ways. It is the question of deciding an appropriate time to break off from the old and embrace the new. While the industry is keenly watching the new developments and prepares itself to be in the excitement, the consumers and customers have a lot to hope for, endless and seamless ways of interaction and integration.
Hindu Crosswords in AcrossLite Format
Copy The Hindu Crossword from www.hindu.com
Open a text file in any good text editor
1. Paste the AcrossLite header as below
<ACROSS PUZZLE> <TITLE> Hindu Crossword <AUTHOR> The Hindu <COPYRIGHT> The Hindu © 2004 <SIZE> 15x15 <GRID>
2. Draw the grid with dots and Xs. Dots are for the Black boxes and Xs for White boxes
.XXXXXXX.XXXXXX X.X.X.X.X.X.X.X XXXXX.XXXXXXXXX X.X.X.X.X.X.X.X XXXXXXXXX.XXXXX X...X.X.X.X.X.X XXXX...XXXXXXX. X.X.X.X.X.X.X.X .XXXXXXX...XXXX X.X.X.X.X.X...X XXXXX.XXXXXXXXX X.X.X.X.X.X.X.X XXXXXXXXX.XXXXX X.X.X.X.X.X.X.X XXXXXX.XXXXXXX.
CAUTION: Do not leave any blank lines between tags and text
3. Copy Hindu Crossword Clues
4. Remove all the blank lines
5. Remove clue-numberings
6. Paste clues for Across under the tag
<ACROSS>
CAUTION: The tags are case-sensitive
7. Paste clues for Down under
<DOWN>
8. Put the trailer tag
<NOTEPAD>
This tag is optional
9. Save the file with .puz extension and open using AcrossLite
10. Press Ctrl+S to convert the text file to AcrossLite Binary Format.
Solving 3 x 3 x 3 Rubik’s Cube
Sometime back, I was searching in the Wide Web World for an easy-to-understand solution for Rubik's cube. I found many, but none worked out for me. Finally my friends helped me out to solve it. As I got help from many, I started jotting down the moves and thought I will write those down for the benefit of others. That was the first version of this article.
Later, I discovered that people are still having problems with notations, and I introduced a new notation as well.
Read this completely once, before attempting to solve.
Most of us see Rubik's cube as six faces. This will not help in solving the cube. From now onwards we should be able to see the cube, constituted of three layers. The method I discuss here is to solve the cube layer by layer.
Before getting into the solution, it is good to learn some terminology and notations, for that helps in writing smaller steps/instructions which will stay in memory. After a while, you will forget the instructions, and follow the patterns.
As we start with terminology, keep in mind that while solving a piece (or using a formula), you should not change the orientation of the cube. Thus said, let us name the faces. There are six faces for Rubik's cube, and hold the cube in front of you. Let the face that is facing you is F (Front), and the opposite face is B (Back). The face on your left is L (Left) and on the right is R (Right). The upper side is U (Up) and the one that faces down is D (Down). The color of a face is the color of the center piece, as the center piece cannot be moved.
Consider that the Rubik's cube is made up of 27 little cubes. One cube is in the core (in fact, there isn't any) and it does not come in our way. Observe – the center pieces on all the faces are immovable (relatively). Now, that leaves 20 little cubes to play around. Let us name the small cubes with respect to the intersection of faces. We can even name each face of these little cubes by properly qualifying the names. The left hand top little cube is a corner piece and is the intersection of L, U and F faces; so we can call it LUF, LFU, ULF, UFL, FUL, or FLU. Let us stick to a convention that the first letter denotes the face of the little cube. So, if we are talking about the front face of the left hand top little cube we will call it FLU or FUL. If it is the upper face of the same we will call ULF or UFL. The edge pieces will have only two faces and their names will be like LF, RD, and DB etc.
We need to rotate these layers while solving the cube. For a layer, there can be two kinds of rotations – clockwise and anticlockwise. But, qualifying a rotation to be clockwise or anticlockwise depends on which way we are looking at. Let's make it clear. A face's rotation is said to be clockwise, if the face is rotating in the clockwise direction when you are looking at it. So, when you rotate the left face anticlockwise FLU goes away from you, and when you rotate the right face anticlockwise FRU becomes DRF. The rotations are then quantified as quarter, half, three-quarter and full turns. A full turn of a layer does not alter anything. A clockwise three-quarter turn is equal to an anticlockwise quarter turn and for the same reason we will not deal with three-quarter turns. Half turn of a layer is the same whether it is turned clockwise or anticlockwise.
The names of the faces are not needed often, so we will use the same names for clockwise rotations. Let's call L as clockwise quarter turn of left face, R as clockwise quarter turn of right face and so on. The symbol' (single quote) will denote anticlockwise rotation. For example, L' will represent left face anticlockwise quarter turn and F' will denote front face anticlockwise quarter turn. We will call half turns B2, F2 etc. Once you are familiar with the faces and the notation and the rotation, we can start solving the cube.
Solving the first layer – Intuition
Solving the first face can be done by observing the movements of pieces (little cubes). Determine a U face (let's take White as U face). Look for a white edge piece on the bottom layer, white not on'D face'. Determine the color of the bottom face of that little edge piece. (Say we found it to be Red). Now, that piece (White-Red) should be at the intersection of centerpieces colored with White and Red. White is already on U face, now turn the cube in such a way that Red is your F face. Now, bring the White-Red edge piece on the L face or R face, in such a way that White is LD or RD and Red is DL or DR. (Say the piece is on the right hand side and then White is RD). This White-Red edge piece is to occupy the UF position when the cube is solved. Let's take it there. If you observe the possible rotations of UF position and RD, you can find that the circles of rotation intersect at FD. That's the best location to swap these pieces. So turn the center layer of F face such that UF comes to FD. Now turn the bottom layer such that RD becomes FD (now FD is White-Red). Finally turn the FD layer back to UF position and the White-Red piece is correctly positioned. A hint that I can give you is that it is more like catching with a hook. The same exercise can be repeated for corner pieces and the pieces of the middle layer. But if the White face is on the D side, we have to first bring it to the bottom layer of R, L, F or B faces. While doing that, make sure that you are not disturbing the correctly set pieces on the U face. Also, if the piece is wrongly positioned on the U face, break it away first by bringing some unwanted piece in its position, and then start moving it to the correct place.
Solving the second layer – It's easy
When the first layer is done it forms a T with the center pieces in the middle layer. That means we need to solve only four pieces to finish the second layer. The formulae start here. All the formulae can be mirrored. If you mirror the steps for one piece the formula will affect its opposite piece.
The following formula will move the cube RD to FL. First, find out which cube fits into FL and position it in RD. Make sure it is positioned as RD, not DR.
Formula 1
To move RD to FL :::: L D' L' D' F' D F
For the first timers, it is better to write down what is on the RD and DR, and do the steps. Then find out what happened to the piece. Remember, you should not change the orientation of the cube while doing the steps.
Since this is the first formula let's write down the corollary.
To move LD to FR :::: R' D R D F D' F'
This formula can be repeated to solve the second layer. If there is piece incorrectly positioned on the second layer, first take it out, and then position it correctly.
Solving the third layer – It's fun
After two layers are completed it is advised to turn the cube upside down to get a better view as well as to reduce the complexity. After turning the cube upside down, now your top layer is scrambled and the bottom two layers are set. Our first goal is to form a cross (like a + symbol, not X) on the present U face (earlier it was D face). The best way to start is to find a “piece of cross”. Look for an L shape or a straight line on the U face, with centerpiece included. If you find a line you are lucky, you need to do the next formula only once. If you find an L shape then you have to do the formula twice. Else you have to keep doing the formula until you get a line or L shape on the U face. (Don't worry the formula is simple and you will get it soon).
Once you find an L shape you need to convert it to a line. And the same formula will convert the line into a cross. Starting with the L shape, first position the shape such that it forms between UR, UF and the center piece.
Formula 2
To get a cross on the third layer :::: B L U L' U' B'
If you had the L shape now it is gone, and you got the line between UR – Centerpiece - UL. Repeat the formula to complete the cross.
(The L shape could be anywhere, but you have to make appropriate modifications to the formula)
Now position the cross such that the edge pieces are matching with the other layers. (Say, for Blue-Yellow edge piece, Yellow should be on the Yellow side, and so on). It does not happen easily. Sometimes two adjacent pieces will match, and sometimes two opposite pieces will match. If you find only one edge piece matching with the other layers, turn the U face and you will find some other two pieces are matching. Once you match two adjacent edge pieces with other layers and two others are not matching, we need to swap those two pieces which are not matching. If the two opposite pieces are matching we need to break that. Simply apply the next formula to break the matching and start with two adjacent matching pieces.
Let's position the incorrect pieces on UF and UR for the third formula. Before doing the third formula, we need to be careful, because the third formula is presented in a reusable manner for memorizing. That necessitates to do an extra step before the third formula is applied. Once the UL and UB pieces are correct (i.e., UF and UR pieces are incorrect), quarter turn the U face clockwise, so that UF'looks' correct. This is very important and often forgotten.
Formula 3
To swap the incorrect edge pieces :::: R U R' U R U2 R'
By now all the edge pieces are correct, and the corner pieces needs to be solved. If you look carefully, one of the corner pieces may be in its right position, but not aligned correctly. We need it for the next step. If none of the corner pieces are in its position simply follow the next formula, and you can find one falling into position (the alignment may be wrong) and do the formula again to correct others. The formula cycles three corner pieces in clockwise direction. It means, UBR will go to UFR, UFR will move to UFL and UFL will go to UBR. Notice that UBL remains as it is. So the correctly positioned corner piece should be on UBL while other three pieces move in clockwise direction to take their places.
Formula 4
To cycle three corner pieces :::: R' U L U' R U L' U'
After cycling enough, the corner pieces take their position, and may be misaligned. If two adjacent corner pieces are aligned properly, you are lucky. But if two opposite pieces are aligned properly, you have to break one of those. How sad!
The last and longest formula will solve the cube. This formula should be applied in such a way that when the little face RUF will become UFR (or rotates anticlockwise in its position) the piece will be solved. This is important. To reiterate, hold the cube such that the corner piece will be correctly aligned when RUF turns to UFR. It is also to be noted that this formula works with two corner pieces. So if you rotate RUF, RLF will also rotate. Now, if you do not find any piece that will satisfy the condition that when RUF becomes UFR the corner piece will be aligned, just do the next formula once, and you will find a piece satisfying the condition.
Formula 5
To rotate the corner piece RUF to UFR :::: R' U2 R U R' U R L U2 L' U' L U' L'
Repeat the formula and rotate the pairs of unsolved corners such that when RUF becomes UFR the RUF (UFR) corner piece is correctly aligned, until THE CUBE IS SOLVED.
Notice that the first part of formula 5 is the reverse of formula 3 and the second part is mirrored moves of the first. That is why it was asked to do the extra step before the formula 3 is applied. Also, keep in mind that all these formulae can be mirrored to provide opposite/mirrored results. Practicing such mirrored formulae will improve the speed of solving.
There are more optimizations that can be done while solving, but it is better learned after familiarizing one solution. It would complicate this already complicated document, if I were to write down the optimal steps.
Last but not the least, do not get discouraged or disheartened if you cannot solve the cube overnight. It took me some sleepless nights to observe, learn and practice the cube, and now the cube just gets solved in my hands. I need not recollect these formulae or consciously apply them.
Wishing you all the best...
NOTE: I had prepared an image to explain each step. But I became too lazy to lay it out on the page. Here is the image - rubiks-cube-solution.png - if you need any visual assistance in solving. In case the image does not look good, change the background to white in your image viewer, as there are some transparent colors in the image.
Introduction to Cryptography
Cryptography was a subject of interest among the Government agencies, military, banks and multinational corporations, until recently. The research and development in this area was mainly aimed at delivering the vital messages without being understood by the interceptors. As we move into an information society, now cryptography relates to everyones life. It has become one of the main tools of privacy, trust, access control, electronic payments, corporate security and countless other fields.
The history of Cryptography is 4000 years old and can be traced to the hieroglyphs of early Egyptian civilization. It played a crucial role in both the World Wars. Cryptanalysis, the art of breaking the cryptographic messages (called ciphers) was also developed, and played an equal role in World War II.
In earlier days the secrecy of cryptographic messages depended upon the secrecy of algorithms. The strength of these systems clearly depended on its implementations. Also, it is possible to reengineer these algorithms, if implemented in software, particularly. In modern cryptosystems, everyone knows the algorithm, and the secrecy depends on keys, some random numbers used to encrypt the message or plaintext. The most commonly used type of cryptosystem in use today is Data Encryption Standard (DES), developed by National Institute of Standards and Technology (NIST), USA, based on a cryptosystem by Horst Feistel, a scientist at IBM Corporation. DES is known as a symmetric (or secret-key) algorithm, as it uses the same key for encryption and decryption. The encryption is performed by a series of permutations, expansions, and bit-slice operations, which makes it tough for the attacker to decipher the message. Nevertheless, DES was broken in 1998, with the use of modern computers that can do exhaustive key search easily. A variant of DES, Triple DES (3DES) uses DES three times, in an encrypt-decrypt-encrypt sequence with three different, unrelated keys. Triple-DES is arguably stronger than DES, however, it is rather slow compared to some new cryptosystems.
In response to growing feasibility of attacks against DES, NIST began coordinating the development of a successor to be called as Advanced Encryption Standard (AES). AES will use a more complex algorithm and 128-bit encryption standard instead of 64-bit standard of DES (actually 56 bit, excluding parity bits). Another algorithm called IDEA (International Data Encryption Algorithm) also uses 128-bit key and considered to be secure. It has been around for several years and no practical attacks on it have been published, despite numerous attempts to analyze it.
A different type of cryptosystem was developed in the meantime, generally known as Public Key Cryptography, using asymmetric (public-key) algorithms. Public-key cryptography uses a pair of mathematically related keys. If one key is used to encrypt information, then only the related key decrypt that information. The security of Public Key Cryptosystem is based on the fact that the private key can be computed from the public key only by solving a difficult computational problem. Therefore, the keys are based on the intractability of discrete logarithms, or factoring of large integers etc. RSA developed by Rivest, Shamir and Adleman is the most commonly used public key cryptosystem. The RSA system uses two large prime numbers, multiplied to form a composite and capitalizes on the very difficult problem of factoring into prime numbers. Other common public-key systems are Diffie-Hellman, used in key exchange protocols and Digital Signature Standard (DSS), a signature only mechanism endorsed by the United States Government. These two systems are based on discrete logarithms.
A public key system can be explained using an example. In this system every end-points hold a pair of keys called public-key and private-key. Public-key is published to all, while the private-key is kept secret. The information to be sent is encrypted using the publickey, which is provided by the receiver, or retrieved from a directory in which it is published (see Lotus Notes Address Book). The receiver uses the private-key to decrypt the information that has been encrypted using corresponding public-key. Thus the receiver can be certain that the information it is able to decrypt must have been intended for it. Alternatively, a private-key can be used to digitally sign a message, to identify the sender. The digital signature is a unique value depending on the content of the message, created using a hashing or message authentication algorithm. This value is encrypted using the private-key. The person who receives this message is provided with the algorithm and the public-key (either in the message itself, or from a directory). The receiver hash the message using the algorithm, decrypts the signature using the public-key, and compares the values as verification. When combined with a digital timestamp, the message can also be proved to have been sent at a certain time.
Another development in this area is a digital certificate. It is digitally signed statement by a Certification Authority (CA) that provides independent confirmation of an attribute claimed by a person offering a digital signature. The Certification Authority is a mutually trusted third party who does verification of the subject of the certificate, much like an agency that issues passports or driving licenses. In practice, CAs offer a range of certificates, graded according to the level of inquiry used to confirm the identity of the subject of the certificate. Digital certificates have a wide range of applications in the growing Internet community. Identifying Certificates that technically binds a name to a public key, Authorization Certificates binding the geographic location, age and other attributes, and Transactional Certificates to attest a particular transaction are some examples.
The Public Key System is collectively known as Public Key Infrastructure (PKI), including the Digital Certificates, Certification Authorities, Directories, and Certificate Management Systems. Applications are made PKI aware so that they are able to use Digital Signatures and Digital Certificates. Security is considered as a chain; it is only as strong as the weakest link.
Cryptography has advanced leaps and bounds in past few decades, identifying and removing the weakest links. The exponential growth in computational technology keeps demanding stronger versions of cryptographic systems than ever before. Also, if the weakest links that are not cryptographic, such as storage of private keys, are not made stronger the system will still remain vulnerable, however strong it is.

