Friday, 10 January 2014

30 Internet Terms for Beginners

1. The Web vs. the Internet

The Internet is a vast 'interconnection of computer networks' that spans the globe.  It is comprised of millions of computing devices that trade volumes of information.  Desktop computers, mainframes, GPS units, cell phones, car alarms, video game consoles, and even soda pop machines are connected to the Net.  
The Internet started in the late 1960's as an American military project, and has since evolved into a massive public spiderweb. No single organization owns or controls the Internet.  The Net has grown into a spectacular mishmash of non-profit, private sector, government, and entrepreneurial broadcasters.
The Internet houses many layers of information, with each layer dedicated to a different kind of documentation. These different layers are called 'protocols'. The most popular protocols are the World Wide Web, FTP, Telnet, Gopherspace, instant messaging, and email.
The World Wide Web, or 'Web' for short, is the most popular portion of the Internet.  The Web is viewed through web browser software.
Grammar and spelling note: Use capitalized 'Internet' and 'Web' when using either word as a noun. Use lowercase 'internet' or 'web' when using either word as an adjective. e.g. 'We were browsing the Internet on our television last night.' e.g. 'We found a really good web page about global warming.


2. http and https

http is a technical acronym that means 'hypertext transfer protocol', the language of web pages. When a web page has this prefix, then your links, text, and pictures should work in your web browser.
https is 'hypertext transfer protocol SECURED'.  This means that the web page has a special layer of encryption added to hide your personal information and passwords.  Whenever you log into your online bank or your web email account, you should see https at the front of the page address.
:// is the strange expression for 'this is a computer protocol'.  We add these 3 characters in a Web address to denote which set of computer lanaguage rules affect the document you are viewing.


3. Browser

A browser is a free software package that lets you view web pages, graphics, and most online content.  Browser software is specifically designed to convert HTML and XML into readable documents.
The most popular web browsers in 2013 are: Google Chrome, Firefox, Internet Explorer, and Safari.


4. HTML and XML

Hypertext Markup Language is the programmatic language that web pages are based on. HTML commands your web browser to display text and graphics in orderly fashion. HTML uses commands called 'HTML tags' that look like the following:
  • <body></body>
  • <a href="www.about.com"></a>
  • <title></title>
XML is eXtensible Markup Language, a cousin to HTML.  XML focuses on cataloging and databasing the text content of a web page. XML commands look like the following:
  • <entry>
  • <address>
  • <city>
XHTML is a combination of HTML and XML.


5. URL

URL's, or 'uniform resource locators', are the web browser addresses of internet pages and files. A URL works together with IP addresses to help us name, locate, and bookmark specific pages and files for our web browsers.
URL's commonly use three parts to address a page or file: the protocol (which is the portion ending in '//:'); the host computer (which sometimes ends in .com); and the filename/pagename itself. For example:
  • https://personal.bankofamerica.com/login/password.htm
  • http://forums.about.com/ab-guitar/?msg61989.1
  • ftp://files.microsoft.com/public/eBookreader.msi
  • telnet://freenet.edmonton.ca/main 

6. IP Address

Your computer's 'internet protocol' address is a four-part or eight-part electronic serial number. An IP address can look something like '202.3.104.55' or like '21DA:D3:0:2F3B:2AA:FF:FE28:9C5A', complete with dot or colon separators. Every computer, cell phone, and device that accesses the Internet is assigned at least one IP address for tracking purposes. Wherever you browse, whenever you send an email or instant message, and whenever you download a file, your IP address acts like a type of automobile licence plate to enforce accountability and traceability.


8. Blogs and Blogging

A blog ('web log') is a modern online writer's column.  Amateur and professional writers publish their blogs on most every kind of topic: their hobby interest in paintball and tennis, their opinions on health care, their commentaries on celebrity gossip, photo blogs of favorite pictures, tech tips on using Microsoft Office. Absolutely anyone can start a blog, and some people actually make reasonable incomes by selling advertising on their blog pages.
Web logs are usually arranged chronologically, and with less formality than a full website.  Blogs vary in quality from very amateurish to very professional. It costs nothing to start your own personal blog.


9. Social Media and Social Bookmarking

Social media is the broad term for any online tool that enables users to interact with thousands of other users. Instant messaging and chatting are common forms of social media, as are blogs with comments, discussion forums, video-sharing and photo-sharing websites. Facebook.com and MySpace.com are very large social media sites, as are YouTube.com and Digg.com.
Social bookmarking is a the specific form of social media. Social bookmarking is where users interact by recommending websites to each other ('tagging sites')


10. ISP

ISP is Internet Service Provider.  That is the private company or government organization that plugs you into the vast Internet around the world.  Your ISP will offer varying services for varying prices:  web page access, email, hosting your own web page, hosting your own blog, and so on.  ISP's will also offer various Internet connection speeds for a monthly fee. (e.g. ultra high speed Internet vs economy Internet).
Today, you will also hear about WISP's, which are Wireless Internet Service Providers.  They cater to laptop users who travel regularly.


11. Download

Downloading is a broad term that describes when you make a personal copy of something you find on the Internet or World Wide Web.  Commonly, downloading is associated with songs, music, and software files  (e.g. "I want to download a new musical ringtone for my cell phone", "I want to download a trial copy of Microsoft Office 2010").  The larger the file you are copying, the longer the download will take to transfer to your computer.  Some downloads will take 12 to 15 hours, depending on your Internet speed.
Be warned: downloading itself is fully legal, as long as you are careful not to download pirated movies and music.


12. Malware

Malware is the broad term to describe any malicious software designed by hackers. Malware includes: viruses, trojans, ratware, keyloggers, zombie programs, and any other software that seeks to do one of four things:
  1. vandalize your computer in some way
  2. steal your private information
  3. take remote control of your computer ('zombie' your computer) for other ends
  4. manipulate you into purchasing something
Malware programs are the time bombs and wicked minions of dishonest programmers.


13. Router (aka 'Network Router')

A router, or in many cases, a router-modem combination, is the hardware device that acts as the traffic cop for network signals into your home. A router can be wired or wireless or both. Your router provides both a defense against hackers, and the redirection service of deciding which specific computer or printer should get which signals in your home. If your router or router-modem is configured correctly, your Internet speed will be fast, and hackers will be locked out.  If your router is poorly configured, you will experience network sluggishness and possible hacker intrusions.


14. Keywords and Tags/Labels

Keywords are search terms used to locate documents. Keywords are anywhere from one to five words long, separated by spaces or commas:  e.g. "horseback riding calgary" e.g. "ipad purchasing advice"  e.g. "ebay tips selling". Keywords are the foundation for cataloging the Web, and the primary means by which you and I will find anything on the Web.
Tags (sometimes called 'labels') are recommendation keywords. Tags and labels focus on crosslinking you to related content... they are the modern evolution of 'suggestions for further reading'.


15. Texting/Chatting

Texting is the short way to say 'text messaging', the sending of short electronic notes usually from a cell phone or handheld electronic device.  Texting is popular with people who are mobile and away from their desk computers.  Texting is something like the pagers of old, but has the file attachment ability of email. 
To send a text message, you will usually need a keyboard-enabled cellphone and a text message service through your cellphone provider.  You address your text messages using the recipient's phone number.
In 2010, texting has spawned a controversial habit called 'sexting', which is when young people send sexual photos of themselves to other cell phone users


16. I.M.

I.M. (usually spelled 'IM' without the periods) is instant messaging, a form of modern online chatting.  IM is somewhat like texting, somewhat like email, and very much like sending notes in a classroom. IM uses specialized no-cost software that you install on your computer.  That IM software in turn connects you to potentially thousands of other IM users through the Internet.  You locate existing friends and make new friends by searching for their IM nicknames.
Once the software and your friends list is in place, you can send instantaneous short messages to each other, with the option of including file attachments and links.  While the recipient sees your message instantly, they can choose to reply at their leisure.


17. P2P

P2P file sharing ('peer-to-peer') is the most voluminous Internet activity today.  P2P is the cooperative trading of files amongst thousands of individual users. P2P participants install special software on their computers, and then voluntarily share their music, movies, ebooks, and software files with each other.
Through 'uploading' and 'downloading', users trade files that are anywhere from 1 megabyte to 5 gigabytes large. This activity, while in itself a fully legal pasttime, is very controversial because thousands of copyrighted songs and movies trade hands through P2P.


18. E-commerce

E-commerce is 'electronic commerce': the transacting of business selling and buying online.  Every day, billions of dollars exchange hands through the Internet and World Wide Web.  Sometimes, the e-commerce is your company buying office products from another company (business-to-business 'B2B' e-commerce).  Sometimes, the e-ecommerce is when you make a private purchase as a retail customer from an online vendor (business-to-consumer 'B2C' e-commerce).
E-commerce works because reasonable privacy can be assured through technical means (e.g. https secure web pages), and because modern business values the Internet as a transaction medium.


19. Bookmark

A bookmark (aka "favorite") is a marker that you can place on web pages and files.  You would bookmark something because:
  1. You want to return to the page or file later
  2. You want to recommend the page or file to someone else
Bookmarks/Favorites can be made using your right mouse click menu, or the menus/toolbars at the top of your web browser.  Bookmarks/Favorites can also be made on your Mac or Windows computer files.

20. Social Engineering

Social engineering is the conman art of talking directly to people to trick them into divulging passwords and their private information.  All social engineering attacks are some form of a masquerade or phishing attack, designed to convince you that the attacker is trustworthy as a friend or as a legitimate authority figure. The attacker might use an email, phone call, or even face-time interview to deceive you. Common social engineering attacks include greeting cards, bogus lottery winnings, stock investment scams, warnings from an alleged banker that you've been hacked, credit card companies pretending to protect you.


21. Phishing and Whaling

'Phishing' is what modern-day con men do to defraud you of your personal accounts. Phishing is the use of convincing-looking emails and web pages to lure you into typing your account numbers and passwords/PINs. Often in the form of fake eBay web pages, fake PayPal warning messages, and fake bank login screens, phishing attacks can be very convincing to anyone who is not trained to watch for the subtle clues. As a rule, smart users distrust any email link that says "you should login and confirm this".


22. Addons and Plugins

Addons are custom software modifications. User optionally install addons to improve the power of their Web browsers or office software. Examples include: a custom eBay toolbar for your Firefox browser, a new search feature for your Outlook email. Most addons are free, and can be found and downloaded from the Web.
Plugins are a special kind of web browser addon. Plugins are essentially required addons, if you wish to view very specialized web pages.  Examples include: Adobe Flash or Shockwave player, Microsoft Silverlight player, Adobe Acrobat pdf reader.


23. Trojan

A trojan is a special kind of hacker program that relies on the user to welcome it and activate it.  Named after the famous Trojan horse tale, a trojan program masquerades as a legitimate file or software program.  Sometimes it will be an innocent-looking movie file, or an installer that pretends to be actual anti-hacker software. The power of the trojan attack comes from users naively downloading and running the trojan file.


24. Spamming and Filtering

'Spam' has two meanings. 1) Spam can mean 'the rapid reptition of a keyboard command'. But more commonly, 2) spam is the jargon name of 'unwanted/unsolicited email'.  Spam email is usually comprised of two sub-categories: high-volume advertising, and hackers attempting to lure you into divulging your passwords.
Filtering is the popular-but-imperfect defense against spam.  Filtering uses software that reads your incoming email for keyword combinations, andthen either deletes or quarantines messages that appear to be spam.  Look for a 'spam' or 'junk' folder in your mailbox to see your quarantine of filtered email.


25. Cloud Computing and Software-as-a-Service (SaaS)

Cloud computing is a fancy term to describe that your software is online and 'borrowed', instead of purchased and actually installed on your computer. Web-based email is the most prevalent example of cloud computing: the users' email is all stored and accessed 'in the cloud' of the Internet, and not actually on their own computers. This is the modern version of the 1970's mainframe computing model. As part of the cloud computing model, 'Software as a Service' is the business model that claims people would rather rent software than actually own it. With their web browsers, users access the cloud of the Internet, and log into their online rented copies of their SaaS software.


26. Apps and Applets

Apps and applets are small software applications. They are designed to be much smaller than regular computer software, but still provide very useful functions. Lately, apps are very popular with cellphone and mobile platforms; specifically: with the Apple iPhone and the Google Android phone. 
Examples of apps:  rangefinder GPS for golfing, song identification software, restaurant reviews, pocket video games, language translators for traveling.


27. Encryption and Authentication

Encryption is the mathematical scrambling of data so that it is hidden from eavesdroppers.  Encryption uses complex math formulas ('ciphers') to turn private data into meaningless gobbledygook that only trusted readers can unscramble.  Encryption is the basis for how we use the public Internet as a pipeline to conduct trusted business, like online banking and online credit card purchasing.  On the provision that reliable encryption is in place, your banking information and credit card numbers are kept private.
Authentication is directly related to encryption.  Authentication is the complex way that computer systems verify that you are who you say you are.


28. Ports and Port Forwarding

'Network ports' are thousands of tiny electronic 'lanes' that comprise your network connection. Every computer has 65,536 tiny ports, through which Internetworking data travels in and out.  By using port management tools like a hardware router, users can control port access to better safeguard themselves against hackers.
'Port forwarding' is the semi-complex technique of opening specific network ports.  You would port-forward to speed up your downloading and speed up your online connections for gaming and teleconferencing.


29. Firewall

Firewall is a generic term to describe 'a barrier against destruction'.  It comes from the building term of a protective wall to prevent the spreading of housefires or engine compartment fires.  In the case of computing, 'firewall' means to have software and/or hardware protecting you from hackers and viruses.
Computing firewalls range from small antivirus software packages, to very complex and expensive software + hardware solutions. All the many kinds of computer firewalls offer some kind of safeguard against hackers vandalizing or taking over your computer system.


30. Archives and Archiving

A computer 'archive' is one of two things: a compressed container of multiple smaller data files, or a purposeful long-term storage of files that are not going to be used often.  In some cases, an archive can be both.
The act of 'archiving', similarly, is one of two things: to combine and squeeze multiple files into a larger single file  (for easier emailing); or, archiving is when you will retire data and documents to be put into long-term storage  (e.g. your thousands of old emails in your inbox).

Thursday, 9 January 2014

What is a 'Hacker'? Is that the same as a 'hax0r'?





You've heard of "hackers", and you've seen sensationalized versions of hackers in movies. But what exactly is a hacker? And are they the same as "haxors"?



A hacker is a technically-savvy computer user who, for either negative or positive motivations, will manipulate and break into computer systems. Yes, sometimes this manipulation and intrusion is noble and well-intended, with the objective of creating something new and beneficial. And yes, hacking can also be the evil wrongdoing and theft/vandalism that you are familiar with from the media of the last 3 decades.

Spelling note: you will sometimes see the "hacker" term spelled creatively in different ways, such as "haxor", "Hax0r", and "H4X0R".


Historically, a hacker of the 1980's was strictly evil and dishonest: a criminal who would illegally and unethically take control of computers and networks. And indeed, that criminal definition still applies to some of the hackers today in the 21st century. However, the term hacker has also broadened to include non-criminal and even noble computer users. Today, "hacker" is a moniker that subdivides into "black hat", "white hat", and "grey hat" computer users.

There are 3 types of modern hackers:
  1. Black Hats: Criminal Hackers. Common job: Penetration Tester.
  2. White Hats: Ethical Hackers. Common job: Network Security Specialist.
  3. Grey Hats: Deals in both of the above (jack of all trades, master of none).

1) Classic "Black Hat" Hackers = Criminals/Lawbreakers
This is the classic definition of a hacker: a computer user who willfully seeks to vandalize or commit theft on other people's networks. This classic hacker is also known as a "black hat hacker" because of his malicious motivations. Black hats are gifted but unethical computer users who are motivated by feelings of power and petty revenge. They are electronic thugs, in every sense of the word, and share the same personality traits as punk teens who smash bus stop windows for personal satisfaction.


Black hat hackers are renowned for the following common cybercrimes:
  • DOS/DDOS attacks that overload Internet servers.
  • Defacing websites by hijacking control and replacing the main page photos with rude slogans. (see example here)
  • Performing identity theft by stealing private information of individuals.
  • Botnetting: taking remote control of dozens of personal computers, and programming them to "zombie" as spam broadcasters.

2) White Hat "Ethical Hackers" = Network Security Specialists
Different from the classic black hat hackers, white hat hackers have honorable, or at least benign, motivations. A white hat "ethical hacker" is a talented computer security user employed to help protect computer networks. These white hats are not unlike former convicts who take on work as store security guards. While they themselves may not be completely ethical, their vocation is considered white hat. Ethical hackers are usually motivated by a steady paycheck. It is not surprising to see ethical hackers spending those paychecks on very expensive personal computers in their personal lives, so they can play online games after work. As long as they have a good-paying job to support their personal habits, an ethical hacker is usually not motivated to destroy nor steal from their employer.


Related: White Hat "Academic Hackers" = Creative Computer Artists
Another kind of white hat is the "academic hacker": a computer artisan who is not interested in protecting systems, but rather in creating clever programs and beautiful interfaces. If you are an academic hacker, for example, you will take existing programmatic code, and improve upon it through clever alterations and additions. "Academic hacking" is about obsessively innovating computer code so that it becomes more beautiful or more efficient as a program. Academic hackers, in general, are harmless and do not seek to hurt other people's networks. Academic white hats are often graduate students in computer programming.


3) Grey Hat Hackers = Uncertain which side of the law to stand for.
Grey hats are often "hobby hackers": users with basic or intermediate tech skills who like to disassemble and modify their own computers for hobby pleasure, and who also dabble in minor white collar crimes, like file-sharing movies or cracking software. Yes, millions of p2p downloaders are hobby hackers. And indeed, if you have ever modified your router and firewall to allow faster p2p downloads, you could describe yourself as a "grey hat" hobby hacker. Gratefully, only a small percentage of hobby hackers ever escalate into becoming serious black hat hackers.


Question: are you a white hat or grey hat hobby hacker?

Answer: if you obsessively tinker with your computer hardware and software, the answer is yes, you are a white hat hobby hacker. If you obsessively tinker and you like to dabble in breaking software locks and music copyright, then you are a grey hat hobby hacker. In 2010, this connotation is not a negative thing.

What is 'leet' or '1337'?




'Leet' or '1337' is the jargon spelling for 'elite'. To be leet/elite means to be very skilled with computers and software.


In the days of Windows 95, a group of infamous hackers named "The Dead Cow Cult" used to take remote control of Windows 95 machines. They used a nasty software package called Back Orifice, and used the network port 31337 to take over thousands of computers worldwide. Their purposeful misspelling of the world "elite" as "leet" or "1337" was a way to bypass censorship programs. Years later, the Dead Cow Cult influence has morphed into a subculture of jargon and power user language. People who speak "leet" today are not necessarily hackers... leetspeak is often the trademark of serious Internet gamers and people who pride themselves on being technically savvy.


Wednesday, 8 January 2014

How to Learn a Programming Language

Whether you want to design a video game, develop some cool apps for iPhone or Android or just want to do it for fun, programming is the way to go. Keep reading for detailed instructions on learning a programming language.



1
Decide your goal. Learning a programming language can be both quite interesting and challenging. Even university graduates study a language for years but they might not be able to figure out their specialty. So first decide what you want to become, for example a programmer, a game developer or a robotics expert.



2
Choose a programming language. Always start to learn from a core language. When you first begin to learn, choose mid-level language like C and afterwards C++. Learning these two is a must for any competent and complete programmer, as these are industry standards. Don't start off learning high level languages such as Java or something else as they can prove to be very confusing for a beginner. (You can always learn other languages later, of course, but you'll want to have C and C++, at a minimum, under your belt.). Since C/C++ could look too hard to true beginner, you may prefer Python also. It is widely considered as a good language for beginners. Study a language for at least one year. Learn the common programming paradigms, especially procedural and object-oriented. Read a lot and practice with a compiler or IDE (there are many free ones online). Once you've mastered a language, do not rush to implement. Instead buy some good books on data structure and learn the key subjects like searching, sorting, binary tree and linked list creation etc. Whether it is about game or software development, data structure is the protege. Later, you may move on to a high level language such as Java[1]. For serious programming learn computer algorithms like divide and conquer, greedy method, backtracking, etc. for another year at least.



3
Fall in love with mathematics. For various reasons, many avoid mathematics or just hate them. But to become a good programmer you must solve and exercise a good number of problems on a daily basis, say one problem for one day. As you can see, it is easy to say but difficult to do. It is not important how much knowledge you have in a language but its relevance to a particular problem. Most problems are related to mathematical series (Fibonacci, Floyd triangle, Fourier Series etc). Not only that, there are many mathematical equations that can save a lot of time. So, start to learn new equations and their aspects. Learn discrete mathematics and calculus. Without mathematics, coding is like grassing the cattle.



4
Be self-motivated. Remember, Rome was not built in a day. So don't rush to learn all in a day. Learning programming is not so easy because it employs logic frequently. So, try to understand the logic and practice it, practice until you memorize it. If you are only trying to memorize, you will miss the fun and the concept will be left unclear to you. So, stretch yourself to the limit, but don't try to run before you can walk.



5
Take your time. Even the most accomplished programmers fail to solve a simple problem on certain occasions. So, try to relax when solving a particular problem. Take notes, find a proper algorithm or prepare your own. This is why you must learn data structure and study mathematics. It takes many hours of practicing problem-solving skills on different types of problems before you can call yourself an expert. Sites like Project Euler or Codecademy[2] have many small programming assignments and tutorials that will help you practice and hone your skills.



6
Never back down. Programming can be very frustrating and annoying too if you act carelessly but once you solve a problem all frustration will disappear. Do a lot of calculus (Fourier, Vector, Boundary Problem, Linear Algebra, Matrix). When working on a particularly intricate problem, take periodic breaks to let your brain relax and relegate the problem to your subconscious mind. Make a good schedule for working. When you feel bored, take a nap or walk but never give up, never back down.



7
Become a master. Try to teach others and show your developed applications to others. If you know someone who is better than you, share your thoughts and problems with them, share experience as it will enrich your arsenal. Try to develop your own application imitating professional software like text editor, windows application. Take part in competitions to push yourself to the limit if you dare. Knowing one programming language is good, but mastering more is better, as you'll not only have more tools in your toolbox, but expose yourself to other ways of solving problems, because Regardless of what language you use most often, having knowledge of others to draw on will make you a better programmer and better able to understand common constructs and problems in the abstract. So learn several programming languages, especially two or three with different design philosophies, such as Lisp, Java, and Perl. But learn each of them properly.



8
Be a bookworm. Most well versed programmers are good readers too. They think before they even type a line of code. So, read a lot and think. Recheck your works once a week. (Document your code well, in order to make said rechecking easier.) Further, invest some money in good books. Try to buy the best (not necessarily the best selling) resources. Never slavishly follow a single resource as it will make your outlook narrower. So once you master something, research on it for more use and variations.



9
Invest in Training Centers. If you are not satisfied with your teach-yourself technique, enroll yourself into some beginner's course. But before the enrollment, always research on the previous graduates.



10
Have a lot of practice. Solve hundreds of programming problems. It would be the best if you can invent a lot of them yourself. However, if you can't, several web-sites could be useful:
  • TopCoder - popular US competitive programming website - it can really boost your algorithm knowledge.
  • Codeforces - other competitive programming website - contests here are held bit more often than at TopCoder.
  • Project Euler - great web-site with math-related programming problems.
  • CodeAbbey - problems targeted to real newcomers in programming, simpler then at the resources above.

TIPS :-

  • Make use of up-to-date application programming interfaces and official reference materials available from the software publisher.
  • When you learn something new, it is often helpful to implement it yourself and then tweak the design, predicting the results, to make sure you understand the concept.
  • Get involved in a language standardization effort. It could be the ANSI C++ committee, or it could be deciding if your local coding style will have 2 or 4 space indentation levels. Either way, you learn about what other people like in a language, how deeply they feel so, and perhaps even a little about why they feel so.
  • References are there to help you. Don't be ashamed if you don't remember everything by heart; that comes with time. The important thing is knowing where to find reference material.
  • For automating tedious tasks ("scripting") on Windows, look up C# (which is similar to Java), Visual Basic; for other platforms, Perl, Python, and bash (or other shells) are common.
  • For practice, try to teach others. It will not only make you more competent but let you think more deeply from different perspectives.
  • If you are interested in game programming, investigate Python, C++, and Java. Of the three, C++ is probably the best performer, Python by far the easiest to learn, and Java best able to run on Windows, Mac OS, and Linux without change.
  • For most people, programming something that interests them or that they can use is more interesting than textbook examples. Use a search engine to find out about projects that interest you.
  • Practice everyday at least for couple of hours, remember, a perfect practice makes a man perfect.
  • Tutorials of any sort are not sufficient to learn a language well. Try to find people around you who have the same interests, and learn from one another. Browse and join message boards so you can be exposed to the techniques and discussions of a dynamic programming community.
  • Talk to other programmers; read other programs. This is more important than any book or training course.
  • Learn the most-used and industry-level algorithms.
  • Take notes and design your own solutions for any particular problems, then seek assistance from others.
  • Solve a good number of problems in Java.
  • Try to solve simulation type problems.
  • Learn about Free software. Study the source code of the programs available at the Free software directory. Why re-invent the wheel when you can make it better? Just make sure you understand what you're programming.


SOURCES :-










How to Hack Windows (Hack from the Windows 7 CD)

Hack from the Windows 7 CD



  1. 1
    Boot the system from the Windows 7 CD.

2
Click on Next.




3
Choose “Repair your computer”.




4
Click Next in the System Recovery window.




5
Choose the Command Prompt option below.




6
In the command prompt window, copy the Seth file to C drive. Enter this command: “C:\windows\system32\Seth.exe c:” (without quotation marks).




7
Replace the Seth.exe file with cmd.exe file with following command, and type “yes” to replace the file: "c:\windows\system32\cmd.exe c:\windows\syetem32\Seth.exe" (without quotation marks).




8
Type "exit” to restart the Windows setup.




  1. 9
    Press the shift key 5 times, rapidly, when you're in the username screen. In the Sticky Keys window, click Yes.


10
In the command prompt window type the “net user,” “user name” and “password”. For example: net user administrator 123



TIPS :-
  • Don't be an idiot and mess up someone else's computer. Only do anything like this if you need access to the root of Windows. It was written for learning only. Also, don't try anything unless you know something about DOS.