Saturday, 29 November 2014

HTML5, CSS3 Tricks That Web Geeks Will Love!

 HTML5 and CSS3 are the two foremost tools for web geeks nowadays. In case you had a doubt about the same then here's how. These 10 web tricks will show you exactly how powerful these two languages can be. Take a look, you might find something useful for your own websites.


1. Pure CSS3 AT-AT: The animation here has been created without any coding. No programming languages have been used for this. It doesn’t do anything special, but you can use such a trick to make your website more attractive.

2. Keylight: This is a nifty trick. What happens here is you click on the background to create small dots and based on the placement of the dot, a tone is played. Multiple dots make a full track. Further, once you’re done, you can share your track. How? Just copy the URL and send it to whoever you want to share it with. Your track is saved in the URL only.

3. CSS3 Man: This is another animation that doesn’t use Flash or any other similar platform.

4. Sinuious: This one is a simple game that can be addictive for kids. You have to avoid hitting the red dots, while picking up power-ups on the way. The more you can avoid, better will be your score.

5. Cubescape: This is all about cubes. Click on the screen to place the cubes wherever you want them. You can choose different colours for the cubes, move them and edit them. When you’re finished, you can watch an animation of what you just did.

6. Darkroom: This is actually one of the more useful tricks in this list. While the others are for fun, Darkroom actually works as a photo editor and comes with a number of editing tools along with an easy interface. You can edit brightness, contrast, exposure, tin/temperature, saturation, colour blindness simulation, red-eye and other aspects of your picture. You can do this to images that are saved on your hard drive.

7. Apple Gallery Demo: From the makers of the iPhone, this is a photo browser that lets you rotate images across the page, through 3D space etc.

8. The Wildnerness Downtown: You have probably already heard of this experiment. This one asks you for your hometown and then creates a video using three things: Google Maps, CSS3 and HTML5.

9. Water Type: This is another nifty trick. It asks you to type in a message and it appears as if it’s being created out of water.

10. Destructive Video: You see a video in this one, but when you click on the video it blows up. Interestingly, the video is still playing. Stop for a few seconds and the video will automatically reintegrate.
[Source: Wired.com ]

Saturday, 22 November 2014

Best C/C++ Compilers And IDEs

The steps that need to be taken to become a hacker are not easy. This article will give you few of the most important steps essential to be a hacker. The article will focus on skills and attitude that is required to become a hacker. Breaking the security system and entering into the system is not the only thing a hacker does. A relentless attitude and pristine skill-sets are two cornerstones for being a master hacker.

Knowledge of wide variety of computer science topics is required, however knowing things at great depth is the key to a hackers success. Therefore having a positive attitude toward learning is essential in the journey of learning to become a hacker

Below is the step by step guide I have created to teach you how to be a hacker:


Step 0: Read The Hacking Manifesto


It is not an easy task to be a hacker. As a hacker, you need to have an attitude and curiosity. Readingthe hacking manifesto can teach you the attitude of a hacker. Nurturing the hacker attitude is more about developing competence in the languages rather than having a stereotypical attitude.

Though a lot of people consider that a hacker is a criminal; However in real life, they are hired by big companies for protecting information and minimizing potential damage. The act of hacking actually is that of being over-curious and outwitting authority. As a hacker, you should be hell bent on breaching authoritarian rules, secrecy and censorship. Deception is another arsenal which will allow you to dodge the vigilant eyes of authority. 

The act of stealing something or doing harm to someone is not hacking. Such people are commonly called crackers in the community. Crackers are involved in illegal activities and I will not recommend you to get involved into such activities.

Step 1: Learn To Program In C

C programming being one of the most powerful languages in computer programming, It is necessary to really master this language. This programming language was invented by Denise Ritchie in between the years 1969 and 1973 at AT& T Bell Labs. C programming will essentially help you divide the task in smaller pieces and these pieces can be expressed by a sequence of commands. Try writing some program on your own by assessing the logic.

There are hundreds of Free C Programming PDF & tutorials available on web to learn, however I would recommend you to start with a simple and well written c programming book of your choice and then read this book (C Programming Language
By Brian W. Kernighan and Dennis M. Ritchie) to understand the real power of c language. 
This books is not an easy read however its a must read book to get in depth understanding for C Programming.

Step 2: Learn More Than One Programming Language


When you are trying to become a hacker, it is very important to learn other modern computer programming languages such as JAVA, HTML, Perl, PHP and Python. One of the best ways to learn these is by reading books from experts.

Java is one of the most popular programming languages. It has been claimed that its also very secure. Knowing Java security model will empower you to understand how this language achieve security. Learn about the security loop holes in Java language and related frameworks. Pick and read from many free PDF, tutorials and ebooks available to learn java online. 

Perl is a general purpose dynamic programming language, which is high level and can be interpreted. This language borrows some features of C language. On the other hand, JAVA is concurrent, class based and objects oriented programming language. Python is really handy when you are trying to automate some repetitive tasks.

HTML is the mark up language based on which the web pages are designed, created and displayed. The web browsers read the HTML code to display the web page.

Python is best language for web development and favorite language of a lot of programmer due to its simplicity and quick turn around. A lot of people use Python to do simple and complex automation.

Step 3: Learn UNIX

UNIX is a multi-tasking and multi-user computer operating system that is designed to provide good security to the systems.This operating system was developed by some employees of AT&T in Bell Labs.The best way to learn it is to get into an open-source version (e.g. centos) and install/run the same on your own. You can operate internet without learning UNIX, but it is not possible for you to be an internet hacker without understanding UNIX. 

If you have not used Unix operating system yet, a few essential linux commands will make your comfortable in getting quickly started.

Unix in a Nutshell by Arnold Robbins is a good way to start. This book will teach you how to use Unix.

The next thing you need to know is the internals of this operating system. I recommend 
The Design of the UNIX Operating System by Maurice J. Bach for getting in depth understanding of Unix operating system.

A large number of web servers are hosted on Unix based servers and knowing internals of this operating system is going to be really a big boost in your skills.

Step 4: Learn More Than One Operating Systems

There are many other operating systems apart from UNIX. Windows operating system is one of the most commonly compromised systems, hence it is good to learn hacking Microsoft systems, which are closed-source systems. 

According to the National Vulnerability Database, Microsoft operating systems have a large number of vulnerabilities.

Windows OS installers are distributed in binary, therefore it is not easy for you to read the code. Binary code is basically the digital representation of text and data that computer understands. However, knowing how programs are written for windows and how different applications behave on this operating system will help.

One of the recent vulnerabilities of a popular OS was that Java Web Start applications get launched automatically even if the Java plug-ins are disabled. How to be a hacker is about knowing the weaknesses of these operating systems and targeting them systematically.

Step 5: Learn Networking Concepts

The networking concept needs to be sharp when you want to be a hacker. 

Understanding how the networks are created is important, however you need to know the differences between different types are networks. Having a clear understanding of TCP/IP and UDP protocol is a must to be able to exploit the vulnerabilities on world wide web. 

Understand what is subnet, LAN, WAN and VPN.

I recommend Computer Networking: A Top-Down Approach By James F. Kurose and Keith W. Ross

The networking commands to do a HTTP request needs to be on your fingertips. The HTTP protocol, is the gateway through which one enters the internet world. Hence it is necessary to learn this protocol in order to break the barriers. The hackers often use the HTTP gateway to breach the security of the system and take control over it.

Apache Httpd is one of the most commonly used web servers and knowing in and out of it is going to empower you on any HTTP or other application layer protocol related endeavors.

Nmap is a powerful network scanning tool that is used by hackers and security professional across the world to identify vulnerable hosts. However, to effectively start using it you must understand the networking basics. To get advanced skills on NMap you can refer the book by creators - Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning

Step 6: Start Simple: Read Some Tutorials About Hacking

This is the simple and best way to start. Read as many tutorials as possible that are meant for hacking. These articles will give you insight and help you develop the attitude to be a hacker. Some tutorials will initiate you with Nmap, Nessus and SuperScan, some of the hacking programs or tools that hackers generally use. These tutorials are readily available over the internet; Both text and video tutorials are available for you to answer your question how to be a hacker.

Step 7: Learn Cryptography

As an expert hacker, you need to understand and master the art of cryptography. The technology of cryptography and encryption is very important for internet and networking. It is the practice and study of techniques that are used for secure communication in the presence of third parties. The encryption is done for various aspects of information security such as confidentiality of the data, integrity of the data and authentication. Moreover, the technology of cryptography is extensively used in ATM cards, computer passwords and e-commerce. While hacking, these encrypted codes needs to be broken, which is called decryption.

Cryptography is heavily used in SSL based internet communication. An expert hacker should be able to understand how SSL works and what is the importance of cryptography in keeping SSL secure. 

Try reading about various encryption algorithms and see why they are difficult to decrypt. Participate in challenges for decrypting a powerful encryption. An expert hacker will be able to demonstrate weaknesses in a encryption algorithm and should be able to write a program that can show how decryption can be performed without much information about keys.

Understand various techniques used for password cracking. There are dozens of tools available to do password cracking, and using it is not hacking. To be expert at hacking its important for you to understand how to create a program that can crack a password from cypher text.


Step 8: Experiment A Lot

This is an important step for setting yourself up as an expert hacker. Setup a laboratory on your own to experiment the learning on the practical applications. A simplest lab will have your computer, however once you advance you may want to add more and more computers and required hardware for your experiments.

It is good to try experimenting on your own computers, where you can rectify if you have done any mistake. Many hackers initially start off by downloading virtual lab applications such as Oracle VirtualBox. You require at least 3 GBs of RAM and a comparatively powerful processor to carry out your hacking experiments. Setting up the virtual machine is crucial, as it will allow you to test virus, applications and different servers without affecting your own PC.

Some of the things you may need to keep in mind when doing experiments 
  • Keep a backup before any experiment.
  • Start small and have check points.
  • Know when to stop.
  • Document your progress
  • Keep improvising
  • Automate repetitive tasks

Step 9: Read Some Good Books From Experts

Reading will always enhance your knowledge. Try to read as many books and articles as possiblewritten by the experts in the field field of ethical hacking and enterprise security

Reading a lot about anything related is so important in a hackers world that you must also consider enhancing your reading speed. If your reading speed is slow then you may not be able to progress fast in this field. Practice speed reading techniques like skimming, chunk reading etc. 

When it comes to reading a lot, its also important to know that a majority of content on web is not worth your time. Many people use search engine tricks to attract traffic but have little value in it. If you skim thru an article within seconds and decide not to read that is going to save you a lot of time for some really well researched content. 

The Art of Exploitation by Jon Erickson is an excellent book to teach you become an advanced hacker.

Step 10: Participate In Hacking Challenges

Regular participation in the hacking challenges can help you learn more and sharpen your knowledge. There are several companies that organize these challenges in order to check the vulnerability of their software products. The most common hacking challenge includes breaching the security system of the software and taking control of the third party computer systems. Apart from that, there are some websites listed below that regularly offer hacking challenges online.


Step 11: Go Next Level: Write Vulnerability

Vulnerability of a program is the weakness of the program. It is a good approach to look for the vulnerability of an existing program and share the same with others. In this way you will have the option to collect varied opinions from different sources, enabling you to hone your current skill set.

The examples of computer vulnerabilities include memory safety violation, input validation error, privilege confusion bugs and user interface failure. For instance, Microsoft’s Internet Explorer 11 had the vulnerability bug in its preview version which several hackers exploited.

Identifying a new weakness in any software is the real work any expert hackers would perform.

Step 12: Contribute To Open Source Security Projects

Contributing to an open-source computer security project is great platform to test your skills. This is not everyone’s cup of tea. Many organizations like Mozilla and Apache offer these types of open source projects. Try to be a part of these projects and add a valuable contribution to the benefit of the community. 

Participating in the open source security projects such as anti-spam, anti-virus, firewall and data removals help you augment your dexterity as a hacker.

Contribute your vulnerability findings to the global vulnerability databases and give back to the community. 

Remember that it does not matter if your contribution is small, as long as you participate and add value it helps.

Step 13: Continue Learning And Keep Listening To Security Talks

The key to success in the hacking career is continuous learning. Reading blogs for hacking available at sites such as hackerfactor blog and IKEA hacker blog; participating in the forums such as hackforums.net and elite hack are great ways to refresh your knowledge as a hacker. The online video forums like TED or TechTalk are good sources to know more about the emergent hacking techniques and technologies that are being deployed. You should also try following the posts of famous hackers such as Adrian Lamo, Kevin Mitnick, Kevin Poulsen and Robert Tappan Morris.

Summary

Above are few exhaustive steps that can teach you how to be a hacker and help you walk the road of being an expert hacker. However, you should be a responsible citizen and be selective, ensuring you don’t use this skill to breach the security of important institutions, as it may land you in dire straits. You should always remember, for every hacking tool, there is always a counter hacking tool. Therefore, be a smart hacker and more importantly, be a responsible hacker.

Source: [ fromdev.com ]

Thursday, 6 November 2014

Websites To Learn Coding Interactively

Websites To Learn Coding Interactively
If you are keen on taking the programming path, you don't really need to go to universities to learn how to code and program. Now anyone and everyone can master programming languages easily and this list of websites could definitely help. Presenting to you 10 interactive websites to help you learn coding!



1. Codecademy
Thanks to its helpful interface and well-structured courses, Codecademy is indisputably the most famous website to teach you to code interactively. You can make your pick amongst Web Fundamentals, PHP, JavaScript, jQuery, Python, Ruby and APIs.
Every lesson carries a panel which can explain the necessary code and instruction. Another panel lets you to try your hands on coding by writing acceptable code, then checking if you are doing the right thing. Don’t worry if you are making errors, as both instruction and code panels will warn you of errors, and provide hints.

2. Code Avengers
Take our words, Code Avengers is designed to make you fall in love with programming. Although, as of now it only offers HTML5, CSS3 and JavaScript courses, but every single course here is carefully designed to truly entertain you and level up your programming skills. It's almost like playing a game and the end of each lesson you literally get to play a mini game to release the stress that you have cumulated during the lesson.
You can also play with the code and immediately see how the changes impact. It carefully takes care of a beginner’s comfort.

3. Code School
After you finished courses in Codecademy or Code Avengers, and you are ready to step further, Code School is the right place to be at. Unlike other interactive learning sites, Code School provides you with more in-depth courses to help you expertise.
Overall, the courses are categorized into 4 main streams i.e. Ruby, JavaScript, HTML/CSS and iOS.
The courses are streamlined with excellent design and informative screencasts. And with the challenges provided after screencast, they provide hints and answers to help you try and learn.
Most of the offered courses are free, some of them will require you to spend $25/month to access the entire course including all screencasts and challenges, and also all other courses in Code School.

4. Treehouse
The courses at Treehouse are more project-oriented than language-oriented. So if you are a novice programmer who have a planned purpose like creating a website, or an application. This is the way to go.
For example, the Websites course is all about building a responsive website, interactive website or even WordPress theme – a very practical and efficient way to master related languages.
The courses at Treehouse are divided into different stages or modules, and after every first stage the learner will be invited to pay a monthly subscription fee of $25 to access all courses with 650+ videos, and an exclusive Treehouse Members Forum as a bonus.
Also if you are serious about your programming future, you could subscribe the $49 monthly plan to obtain in-depth interviews with leading industry pros and cutting-edge workshops.

5. LearnStreet
If you are someone who would rather go for cold hard codes instead of fancy playful designs, LearnStreet is your thing.
Currently the website offers JavaScript, Python and Ruby courses at beginner level. All you need to do is to click on the ‘Start Course’ button and you will start the lesson with an exercise, a code interpreter and a glossary panel of new programming terms.
LearnStreet adopts command prompt-styled code interpreters with human language to explain function and encourage you whenever possible, the kind of command prompt you want for your own local machine.
It's indeed a friendly, enjoyable and free website.

6. Udacity
Udacity is the combination of insightful video lectures and improved quizzes to achieve the interactive feel for students. So if you are someone who don’t like to read and who would like to listen from industry professionals like Google employees, this website is for you!
The website provides screencast from pros discussing the topics and instructions, then you will take either logic or programming quizzes to strengthen your understanding on a particular skill.
The website is known for providing more videos than any other site, and the instructors are either real-life professors or industry veterans.
Although one drawback here is that most of the courses offered are not much related to each other. So we will not recommend Udacity as a starting point, but it is indeed a virtual university to further up your study.

7. CodeHS
Most of the websites above were majorly dedicated to web development and computer science, but here at CodeHS your will get simple and fun game programming lessons, which will involve lessons on problem solving, JavaScript, animation, data structures, game design and puzzle challenges.
CodeHS helps you to think and solve a problem like a programmer right from its first course. The lessons are fun as you will learn how to use the code to move the dog and puzzles like picking up ball and building a towel.
Although other than its first course mentioned above, one will be required to sign up first with $25 per month to continue your learning journey, but trust us the amount is worth it if you are willing to learn basic game programming effectively.

8. Khan Academy
The courses at Khan Academy might not be as structured as CodeHS, but it definitely serves as an open playground for both novice and amateurs who are interested in learning drawing, animation and user interaction with code. It does not take you forward on any programming language in particular, but the code pattern it adopts can be applied anywhere, as a majority of languages share the similar programming pattern.
You can join the first Programming Basics course to watch and learn basic concepts, then explore the given code after the video tutorial to validate your doubts. In Khan Academy, you can also save your modification as a Spin-Off for everyone to enjoy and customize. You can imagine the community size and the lesson’s effectiveness as there have been hundreds of spin-offs just from one lesson in one course.

9. Scratch 2.0
Your think CodeHS and Khan Academy were too hardcore? Nothing to worry, we have something easier for the aspiring programmer in you and it’s called Scratch. Previously an offline software that allowed kids to create, upload and share their projects proudly, Scratch is now fully online with its 2.0 successor.
Although it’s not all about programming but it is a good combination of visual blocks of commands that tell assigned objects how to behave, such as telling the cat to move 10 steps, or yell ‘meow’ when it touches the owner’s leg.
By using this visual programming method, a programmers will form a habit of breaking a problem into smaller blocks, and solve them one by one logically.

10. SQLZOO
Structured Query Language (SQL) is a language which was designed with the pure intention of storing and retrieve data from a database. So you think the experience of learning the language can be full of boredom? We bring SQLZOO, which will let you to learn SQL happily with its interactive interface and smileys.
Since nothing too deep is there to explain for a straightforward language like SQL, the site simply ask you to replace the variables like city names or population number, and raise the difficulty from that level.
Although one drawback that we could think here is the lack of hints, answers and forum which can leave someone probably doomed if they fail to solve any one of the quizzes. 

Wednesday, 5 November 2014

Websites For A Web Developer

Web developers and designers often venture online in the pursuit of good websites and blogs whenever they find cornered by some new concept that they might not know initially. The following websites offer great insight for web developers looking for that edge when it comes to the latest in their field.

1.O’Reilly Network

Features various articles and blogs relating to web development and open technologies.

2.Coding Horror

Very popular blog by Jeff Atwood, a software developer boasting of over 100,000 RSS subscribers.

3.PHPDeveloper

One stop shop for all the news and resources about PHP from blogs and sites that cover the language.

4.Boxes and Arrows

Features best practices, innovations, and trends in design. Topics include information architecture, graphics design, and user interaction design.

5.Blog.SpoonGraphics

Graphics and web design blog created by Chris Spooner, a graphics and web designer. Consists of tutorials on Adobe Illustrator and Photoshop plus free downloadable resources.

6.Design Reviver

Provides many good tutorials for web designers.

7.Style Grind

Provides useful news and information about web technologies and designs.

8.del.icio.us

Social bookmarking site where members can post bookmarks to keep and share.

9.Design Float

Social media site created for web and graphics designers.

10.DZone

Social news site where developers can share links related to development and can also vote on submissions.

11.Ajaxian

Ajax community where you can find information, reviews on JavaScript frameworks, helpful tools, and server-side technology specific articles.

12.WebAppers

Blog created by Ray Cheung, a freelance web developer that provides news and resources related to open source and free applications useful to web developers and designers.

13.Tutorial Blog

Provides handy tutorials, resources, and lists on various web development and design.

14.Adaptive Path Ideas

Provides news and posts on the topic of user interface design.

15.Signal vs. Noise

A design/usability blog by 37 Signals that gives insights about being a productive and effective web application developer.

16.Snook.ca

Jonathan Snook's blog provides tutorials and articles about PHP, JavaScript, and Adobe AIR.

17.Wake Up Later

Samuel Ryan's blog talks about general web development instead of covering specific web development techniques or providing tutorials.

18.Vitamin

Provides information on web development and design on topics like Ajax, CSS, development techniques, best practices, and workflow management.

19.Smashing Magazine

Excellent resource for web designers and developers looking for inspiration.

20.Web Designer Wall

Nick La's blog features design ideas and elaborate tutorials on the same. 

Sour