Using The Mouse Pointer Without a Mouse

Do you have problems with your mouse? are you in such a rush that you do not have time to look for a spare and change it? or do you even have a spare?

Here is a handy tip for you.



Left Alt + Left Shift + Num Lock then OK.

This will activate the MouseKeys on your numpad so be sure the LED for NumLock is lit, otherwise it won't work.

The numbers 1,2,3,4,6,7,8 and 9 controls your pointer movement.
Use 5 for clicking. You can change from right-click to left-click through the /,* and - keys on the numpad.


Read More ..

The Pumping Lemma for Regular Languages

src: http://www.seas.upenn.edu/~cit596/notes/dave/pumping2.html
Here's what the pumping lemma says:

* If an infinite language is regular, it can be defined by a dfa.
* The dfa has some finite number of states (say, n).
* Since the language is infinite, some strings of the language must have length > n.
* For a string of length > n accepted by the dfa, the walk through the dfa must contain a cycle.
* Repeating the cycle an arbitrary number of times must yield another string accepted by the dfa.

The pumping lemma for regular languages is another way of proving that a given (infinite) language is not regular. (The pumping lemma cannot be used to prove that a given language is regular.)

The proof is always by contradiction. A brief outline of the technique is as follows:

* Assume the language L is regular.
* By the pigeonhole principle, any sufficiently long string in L must repeat some state in the dfa; thus, the walk contains a cycle.
* Show that repeating the cycle some number of times ("pumping" the cycle) yields a string that is not in L.
* Conclude that L is not regular.

Why this is hard:

* We don't know the dfa (if we did, the language would be regular!). Thus, we have do the proof for an arbitrary dfa that accepts L.
* Since we don't know the dfa, we certainly don't know the cycle.

Why we can sometimes pull it off:

* We get to choose the string (but it must be in L).
* We get to choose the the number of times to "pump."


Read More ..

Operations That Can Be Performed on Languages

Concatenation
L1 . L2 = L1L2 = {w ε Σ| w=xy for some x ε L1 and y ε L2}

Closure (pairing of elements)
examples:
L1 = {a}
L1* = {e,a,aa,aaa,aaaa,...}
L2 = {aa, bb}
L2* = {e,aa, bb,aaaa,aabb,bbaa,bbbb,...}
L3 = 0
L3* = {e}
(note: * is Kleene's Star and e represents empty)

Positive Closure Property
L+ = LL*
example:
L = {aa,bb}
L* = {e,aa,bb,aaaa,aabb,bbaa,bbbb,...}
L+ = {aa,bb,aaaa,aabb,bbaa,bbbb,...}
Elements of L are concatenated with the elements of L*.

Union
L = L1 ∪ L2
example:
L1 = {a}
L2 = {b}
L1 ∪ L2 = {a,b}

Intersection
L = L1 ∩ L2
example:
L1 = {a,b}
L2 = {b}
L1 ∩ L2 = {b}

Difference
L = L1 - L2
example:
L1 = {a,b}
L2 = {b}
L1 - L2 = {a}

Complement
~L = Σ* - L

Read More ..

OSI Layers

src:http://en.wikipedia.org/wiki/OSI_model

The Open Systems Interconnection Reference Model (OSI Reference Model or OSI Model) is an abstract description for layered communications and computer network protocol design.

A layer is a collection of conceptually similar functions that provide services to the layer above it and receives service from the layer below it. On each layer an instance provides services to the instances at the layer above and requests service from the layer below. For example, a layer that provides error-free communications across a network provides the path needed by applications above it, while it calls the next lower layer to send and receive packets that make up the contents of the path.

Short Description of OSI Layers (top to bottom)

Application Layer:
The layer that is closest to the end user. This layer interacts with software applications that implement a communicating component. Some examples of application layer implementations are Telnet, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and Simple Mail Transfer Protocol (SMTP).

Presentation Layer:
This layer provides independence from differences in data representation (e.g., encryption) by translating from application to network format, and vice versa. The presentation layer works to transform data into the form that the application layer can accept. This layer formats and encrypts data to be sent across a network, providing freedom from compatibility problems. It is sometimes called the syntax layer.

Session Layer:
It establishes, manages and terminates the connections between the local and remote application. It provides for full-duplex, half-duplex, or simplex operation, and establishes checkpointing, adjournment, termination, and restart procedures.

Transport Layer:
Provides transparent transfer of data between end users, providing reliable data transfer services to the upper layers. The Transport Layer controls the reliability of a given link through flow control, segmentation/desegmentation, and error control. Some protocols are state and connection oriented. This means that the Transport Layer can keep track of the segments and retransmit those that fail.

Network layer:
Provides the functional and procedural means of transferring variable length data sequences from a source to a destination via one or more networks, while maintaining the quality of service requested by the Transport Layer. The Network Layer performs network routing functions, and might also perform fragmentation and reassembly, and report delivery errors. Routers operate at this layer—sending data throughout the extended network and making the Internet possible. This is a logical addressing scheme – values are chosen by the network engineer. The addressing scheme is hierarchical.

Data Link Layer:
Provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the Physical Layer. Originally, this layer was intended for point-to-point and point-to-multipoint media, characteristic of wide area media in the telephone system.

Physical Layer:
The Physical Layer defines the electrical and mechanical specifications for devices.

Read More ..

Search Engine Tips



  • Get to know your search engine if you haven't already discovered it (e.g. google, bing).
  • To narrow down your internet search, enclose any search phrases in speech marks. eg: "Melbourne Observer". That way, you'll only get pages with the actual TERM 'Melbourne Observer' appearing. Without the speech marks, you'll get lots of pages with the word 'Melbourne', lots of pages with the term 'Observer', and then pages with the term 'Melbourne Observer'.
  • Use a 'plus' sign with any words that MUST appear in the search results. Similarly, use a 'minus' sign with any words that MUST NOT appear in the search results. (There is no space between the symbol and the word) e.g.: "banana bread" +chocolate -sultanas
  • When you come across a page that you will be visiting often, make sure you 'bookmark' it by adding it to your list of Favorites. With the page displayed, simply go up to the Favorites menu (yes, the US spelling!) and choose 'Add to Favorites'. If you are like me and you have an endless list, it would be a good idea to sort them into Folders, too.
  • When you have done a search using a search engine like google and you're presented with a long list of pages you'd like to check out, this tip will help you do that without losing the original list: RIGHT MOUSE CLICK on the first link you'd like to open and choose from the shortcut menu that appears 'Open Link in New Window'. Some browsers have 'Open Link in New Tab', allowing you to view the contents of the link in the same browser having its own tab below the toolbars.

Read More ..