Monday, 10 February 2014

25 Free Resources To Learn Java Programming Language Online

Java, java programming, java programming language, Java programming cheat sheet, Java programming e-books, Java tutorial, Java resourcesWant to learn Java programming for free? Well, you have come to the perfect place. We bring to you 28 free and high quality java learning resources that includes e-books, websites, cheat-sheets and video channels to learn the Java online for free. So make your pick and get started!


e-Books

Official Java EE Tutorial: Official Java Tutorial from Oracle In PDF Format

Official Java Tutorial by Oracle (Sun): This is the official online Java tutorial of book from Addison-Wesley

Think Java: An introduction to java programming for beginners.

Introduction to Programming Using JavaOnline version of book "Introduction to Programming Using Java".

OSGI In Practice: Free PDF Book on Java OSGI Platform development for advanced/expert developers.

Core Servlets and JavaServer: ITs Free Online Version of Core Servlets and JavaServer Pages book

Java Application Development on Linux by Carl Albing and Michael Schwarz: A handy guide for Java development on Linux platform.

Inside the Java Virtual Machine: Free chapters of the a really good book "Inside the Java Virtual Machine" by Bill Venners.

Data Structures and Algorithms with Object-Oriented Design Patterns in Java: A good online book for mid level experienced Java developer to understand design pattern using Java language.

Thinking In Java: Online free Version of popular book Thinking In Java by Bruce Eckel.

Free Websites To Learn Java

Java SE Specification: This contains the Java Language and Virtual Machine Specifications for deeper understanding for Java language.

Java Lessons: Java and JSP Tutorials with Examples.

Java Generics FAQs: A really good question answer format online tutorial for common Java Generics related concepts.

Java Programming FAQs and Tutorials: This site contains many specialized and general Java Programming Topics in question answer format.

Cafeaulait: Single web page tutorial on Java by Elliotte Rusty Harold

Core Servlets Java Tutorials: A very good resource for experienced java developers.

Java Practices: This site provides presentations of Java practices, tasks, and designs, and a huge set of syntax-highlighted code examples.

Programming Notes: Simple java tutorials for beginners.

Top Cheat Sheets For Java

Java API DocsThe best cheat sheet, that I always prefer is Java official API documentation. It handy to easily browse through various classes and their documentation.

Cheatsheet by Princeton University: Summary of most commonly-used Java language features in one page.

Cheatsheet by mindprod.comOne page simple online handy cheat sheet.

DZone Cheatsheets: Best Resource for Java and related technology cheat sheets and good articles.

Quick Reference By Digilife: Contains simple quick notes to use variety of java programming constructs.

Java Reference (By Dream In Code):A simple cheat sheet for java beginners.

Free Video Tutorials

Tutorials for Java Development with Eclipse

Video Tutorials By Java9s

Java Tutorial for Beginners

Java Videos and Screencasts



Author : Shivam Kotwalia, Code

9 Tips On Making The Best Use Of The Eclipse IDE!

Eclipse is one of the most popular tools used by web designers all over the world. 

It is surprising how many well trained and experienced developers use Eclipse in an inefficient manner. Many don't know how useful the IDE can actually be. Here are 10 tricks that will help you manage Eclipse and boost your productivity.
type, Eclipse IDE, Java, best eclipse tips, eclipse tutorials, best use of eclipse.
1. Text File Encoding: Under the default setting eclipse uses the encoding that suits your operating system. But if you’re looking to build a platform independent application then you will have to use the UTF-8 encoding. This takes care of problems with issues with special characters when running on a different OS. You can do this from the Preferences Menu -> General -> Workspace from your project specific settings.

2. Save automatically: Before starting on a build, choose the save automatically feature. This makes it easier to work on your project. This you can do from Preferences -> General -> Workspace.

3. Type Filters: This one is especially useful for RCP and SWT developers. Type filters can be used in order to remove suggestions for specific types like classes, interfaces etc. from the ‘Open Type’ dialog. These can be set from Preferences -> Java -> Appearances -> Type Filters.

4. “Step Filtering” not Debugging: This can be used in order to remove the types that you don’t want to see during debugging. Many developers like to do this as it helps them focus on the actual code without being distracted by other tasks. It is available under Preferences -> Java -> Debug -> Step Filtering.

5. Launch the previously launched application: This is important because it makes sure that the last configuration that you used is used in your new project as well. Without this, Eclipse’s default setting is to try to determine what the most appropriate configuration for the current projectis. You can set this using Preferences -> Run/Debugg-> Launching.

6. Store your Launch Configuration in a Project: The launch configuration is often something that developers spend a lot of time on. This can be saved into a file that can be further used in your various projects or builds. This comes from Menu -> Run -> Run Configurations -> Launch Configuration Tab -> Common.

7. Make a Launch Configuration always appear in the Menu: You can choose your favourite launch configuration and make them your permanent launch or debug menu. For this go to, Menu: Run -> Run Configurations -> Launch Configuration.

8. Organise imports on save: Removing and changing codes can lead to imported files becoming obsolete. In order to fix this and organise your import you will need to use Shift+Ctrl+o for Windows and Shift+CMD+o on Mac. This can be done from Preferences -> Java ->Editor -> Save Actions or in project specific settings.

9. Format edited lines on save: No matter who rode it, the Eclipse IDE makes sure that the code look uniform irrespective of who is writing the code. In this though, it is advisable to format only the edited lines of a code rather than formatting the entire body.

10.The code formatter in Eclipse is a very useful thing. It ensures that the code looks consistent in your projects — no matter who wrote it — and can be easily read and understood by anyone else. But, formatting the whole file can seriously mess up a diff between two versions of the file. So ‘format only edited lines on save’ might be the right choice if you want the have your code formatted and still be able to see what was changed in your code later on. This is available from Preferences > Java > Editor > Save Actions. 


Enjoy Eclipse
Shivam Kotwalia, CodeKill

Here Are 10 Reasons Why You Should Opt For Java As Your Programming Language!

Java , Programming Language, Java functionality, applets, servlets , Java API , Oracle , GWT, MySQL, AndroidThe benefits of programming in Java are quite a few, making it an ideal choice for developers! 

Java is undoubtedly one of the most useful, dynamic and popular programming languages that will enable you to write any kind of program. Best of all, it is free. There are reasons in plenty why first time users will absolutely fall in love with the language that has already garnered critical reception across the world.
Here are 10 reasons why you should program in Java:

1. Java is fun

-Quickly create impressive, dazzling programs, Java as a language is so much fun!

2. Java is free

-All of this Java functionality and support will cost you nothing.

3. Java is dynamic

-You can write a Java program to do almost anything. There exist a rich array of Java classes that can handle standard application programming, user interfaces, networking, graphics, applets, servlets even more.

4. Java has a wealth of free online support

-Oracle offers a Java tutorial and Java API reference documents. Online Java forums such as The Big Moose Saloon and Java Forums are always there for help.

5. Java is backed by Oracle

-Java is now backed by one of the biggest companies in the IT industry: Oracle.

6. Java has 3rd party support

-GWT (Google Web Toolkit) is a framework for writing dynamic web pages using Java. The Android mobile phone OS and their applications are written in Java. Also, databases such as MySQL and PostgreSQL easily integrate with Java programs.

7. Java is platform independent

-Easily develop it on one platform and run it on another. All you need is Java Runtime Environment (JRE) loaded on your target platform.

8. Java has powerful development tools

-Netbeans IDE and Eclipse IDE are popular Java tools that offer powerful editing, syntax-checking, coding help, source code control, built-in servers and more.

9. Java is advanced

-Java is an object-oriented programming language that even professional programmers will find powerful.

10. Java is easy to learn

-Java is easy enough for beginners to learn.



Shivam Kotwalia, CodeKill

Sunday, 9 February 2014

12 Steps To Become A Hacker!

CodeKill Group bring to you 12 steps to become a hacker, together with all the books, tutorials and resources that you need to learn in the process. So pack your bags and get set for the journey! 

hacking, learn hacking, Unix, Linux, cryptography, books on hacking, tutorials on hacking, how to become a hackerHacking is a fascinating field but it definitely isn't easy. Here we have listed 12 of the most important steps essential to become a hacker, together with all the resources that you need for learning.

Here we focus on the skills and attitude needed to become a hacker. Breaking the security system and entering into the system is not the only thing a hacker does. One requires knowledge of a wide variety of subjects and in depth knowledge of programming languages and operating systems. And needless to say, learning is essential in the journey...

Here are the 12 steps:

It is not an easy task to become a hacker. As a hacker, you need to have an attitude and curiosity. Reading the 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, 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 we do not recommend you to get involved into such activities.

Step 1: Learn To Program In C

C programming is 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.

Here are 35 ebooks on 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, Perl, PHP and Python. One of the best ways to learn these is by reading books from experts.

Here are 32 free ebooks on JAVA

Here are 24 free ebooks on Perl

Here are 21 free ebooks on PHP

Here are 50 free ebooks on Python

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.

Here are 33 free ebooks on UNIX

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.

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.

Also 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.

Step 6: Start Simple: Go Through 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.

Here are some of the video tutorials

Here are some of the text tutorials

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.

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.

Here are 20 free ebooks on Cryptography

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 possible written by the experts in the field field of ethical hacking and enterprise security

Reading a lot about anything related is so important in the world of hacking 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, it's 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 through 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.

Step 10: 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 11: Contribute To Open Source Security Projects

Contributing to an open-source computer security project is a 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 12: 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.


Happy Hacking
Lead Onn.. !!! This World is Yours... !!!

Like Us On Facebook
Shivam Kotwalia, CodeKill

Saturday, 8 February 2014

32 Free eBooks On Java Programming!

Are you set to learn or polish your Java skills, which can easily be called one of the world's most popular programming languages? We bring to you 32 ebooks, absolutely free! 

Java, Java books, efy times, open source, linux, free java books, java ebooks, java resources, Java guidesJava is an object-oriented programming language developed in 1995 by Sun Microsystems. The language has become one of the most popular programming languages in the world (ranked no.2 as per TIOBE Programming Community Index, no.1 on JobsTractor). The language is platform independent, which means that programs made for Mac OS X can run on Windows and Linux, and vice versa. This feature is one of the reasons why Java is the go-to language for most enterprise applications.

Demand for Java programmers is exceptionally high, and most of the senior developer positions require a working knowledge of Java and/or C. So are you willing to polish your Java skills? CodeKill Group bring to you 32 ebooks on Java programming and that too all free!


1. Introduction to Web Services with Java by Kiet T. Tran - Bookboon, 2013

This book focuses more on the details of a hands-on approach to Web Service programming than its specifications. In order to help readers grasp the concept, we provide a brief introduction to Web Service, SOAP, and WSDL in the first three chapters.

2. Java Reference Guide by Steven Haines - Pearson Education, 2003

Steven Haines provides a comprehensive look at the many aspects of Java programming. From J2EE, Spring, and JavaFX to other supporting technologies; from overviews to detailed examples, this Guide offers a deep look at the Java programming language.

3. Java Persistence by James Sutherland, Doug Clarke - Wikibooks, 2012

Java persistence could be defined as storing anything to any level of persistence using the Java programming language. This book is focused on storing Java objects to relational databases, in particular using the Java Persistence API (JPA).

4. Foundations of Jini 2 Programming by Jan Newmarch - Apress, 2006

Jini grew from early work in Java to make distributed computing easier. This is the perfect book for Java programmers interested in applying Jini toward their respective network applications. Author covers comprehensive Jini advancements.

5. Java Distributed Computing by Jim Farley - O'Reilly Media, 1998

This book is an overview of the tools and techniques that are at your disposal for building distributed computing systems in Java. It is intended to serve as both explanatory and reference material for you, the professional developer.

6. Data Structures and Algorithm Analysis in Java by Clifford A. Shaffer - Dover Publications, 2012

A comprehensive treatment focusing on the creation of efficient data structures and algorithms, explaining how to select the data structure best suited to specific problems. It uses Java programming language and is suitable for second-year courses.

7. Object Oriented Programming using Java by Simon Kendal - BookBoon, 2009

This book will explain the Object Oriented approach to programming and through the use of small exercises develop some practical skills. At the end of the book one larger case study will be used to illustrate the application of the techniques.

8. JXTA JXSE Programmers Guide 2.5 - Sun Microsystems, 2007

This guide is for software developers who would like to write and deploy P2P services and applications using JXTA technology. It provides an introduction to JXTA technology and describes the JXTA network architecture and key concepts.

9. Java Structures: Data Structures in Java for the Principled Programmer by Duane A. Bailey - McGraw-Hill, 2007

This text was developed for use in a standard Computer Science curriculum. It requires a little more effort to read. The text is not a brief encounter with object-oriented data structure design, but a touchstone for one's programming future.

10. Java Precisely by Peter Sestoft - IT University of Copenhagen, 2000

This is a concise description of the Java programming language, version 1.1 and later. It is a quick reference for the reader who has already learned (or is learning) Java from a standard textbook and who wants to know the language in more detail.

11. HTTP Programming Recipes for Java Bots by Jeff Heaton - Heaton Research, Inc., 2007

Java allows you to program HTTP directly. These programs, which are called bots, can collect information or automate common web programming tasks. This book presents a collection of very reusable recipes for Java bot programming.

12. Introduction to Neural Networks for Java by Jeff Heaton - Heaton Research, Inc., 2008

The book is an introduction to Neural Networks and Artificial Intelligence. Neural network architectures, such as the feedforward, Hopfield, and self-organizing map architectures are discussed. Training techniques are also introduced.

13. Java: Classes in Java Applications by David Etheridge - BookBoon, 2009

This volume is the second part of the 'Java'-series written by David Etheridge. This book gives the reader an introduction to Documentation, Abstract and Parent classes, Inheritance, Error in Java, Java Interfaces and much more.

14. JXTA by Brendon J. Wilson - New Riders Publishing, 2002

A guided tour of the JXTA platform, including all of the critical information required to begin producing P2P solutions built on top of JXTA. The book assumes an intermediate level of Java development knowledge, and basic knowledge of networking.

15.
Finite-state Automata in Java by Bradley Kjell - Cental Connecticut State University, 2001

These notes discuss finite-state automata, their practical uses, and how to implement them in Java. Finite-state automata are useful in many areas: compiler design, natural language understanding, user interface design, and general programming.

16. Concurrent Programming Using Java by Stephen J. Hartley, 2005

An introduction to using Java in concurrent or multithreaded applications. Topics covered are race conditions when threads share data, critical sections, mutual exclusion, semaphores, monitors, message passing, the rendezvous, etc.

17. Introduction to Java and OOA/OOD for Web Applications by Alvin J. Alexander - DevDaily.com, 2002

This text is a training material about the Java programming language and object-oriented programming methods. It covers OO software development, Java programming language, standard libraries, server-side programming, databases, best practices, etc.

18. The Design Patterns Java Companion by James W. Cooper, 1998

Design patterns are convenient ways of reusing object-oriented code between projects and programmers. This book presents 23 patterns for writing object-oriented software, and provides complete visual Java programs for each of them.

19. Java Language Reference by Mark Grand - O'Reilly, 1997

The book goes into great detail about every aspect of the Java programming language, from the definition of data types to the syntax of expressions and control structures. The goal is to help you understand all of the subtle nuances of Java.

20. Java in a Nutshell by David Flanagan - O'Reilly, 1997

This complete quick reference covers all the classes in the Java 1.1 API, with the exception of the Enterprise APIs, making it the only quick reference that a Java programmer needs. The bestselling Java book is now better than ever.

21. Java(TM) Platform Performance: Strategies and Tactics by Steve Wilson, Jeff Kesselman - Prentice Hall PTR, 2000

The authors give the experienced Java programmer strategies and tips for getting the most out of Java code. The book offers suggestions for improving programs, but it also helps you think about performance as you design and test your software.

22. The Java Virtual Machine Specification, 2nd Edition by Tim Lindholm, Frank Yellin - Prentice Hall PTR, 1999

The complete specification for the Java Virtual Machine, the nucleus of the Java language. It is an essential reference for Java Virtual Machine implementors and compiler writers. Numerous practical examples clarify how the JVM operates in practice.

23. Programming Principles in Java: Architectures and Interfaces by David Schmidt - Kansas State University, 2003

Textbook for future professional programmers. They should understand how to employ three forms of structure: control structures, data structures, and component structures. The author emphasizes component structures over the other two forms.

24.
Sun Certified Java Programmer Pre-Exam Essentials by Dylan Walsh, 2002

This text is a basis for revising for the Sun Certified Programmer examinations, it does not to teach the Java language or the topics required for the exam. It collects all the essential information you need to retain, in one place.

25. Data Structures and Algorithms with Object-Oriented Design Patterns in Java by Bruno R. Preiss - Wiley, 1999

Author presents the fundamentals of data structures and algorithms from an object-oriented perspective. The text promotes object-oriented design using Java and illustrates the use of the latest object-oriented design patterns.

26. Java Testing and Design by Frank Cohen - Prentice Hall PTR, 2004

Highly recommended for advanced developers and IT managers. This book is an excellent guide to testing Web applications and Web services. It will benefit software developers, beginning QA techs, and the experienced coders and testers.

27. Processing XML with Java by Elliotte Rusty Harold - Addison-Wesley Professional, 2002

A complete guide to writing Java programs that read and write XML documents. Shows developers how to save XML documents, read XML documents, communicate with network servers that send and receive XML data, and integrate XSLT into their programs.

28. 1000 Java Tips by Alexandre Patchine, Dr. Heinz M. Kabutz, 2005

The book contains real-world advises and solutions from daily Java experiences. It covers most sought after Java topics and some other related ones. Although not a Java tutorial itself, it makes an excellent companion for a good Java textbook.

29. Beyond Java by Bruce Tate - O'Reilly Media, Inc., 2005

Bruce Tate describes the characteristics of alternative languages, likely successors to Java. The book will teach you a few new languages and help you start building new skills, or you can use the introduced techniques to improve your work in Java.

30. Securing Java: Getting Down to Business with Mobile Code by Gary McGraw, Edward W. Felten - Wiley, 1999

Securing Java is the book on mobile code and security, it includes many things the authors discovered while working on real-world systems with businesses and government agencies. The book should appeal to experts and beginners alike.

31. The Java Language Specification, 3rd edition by James Gosling, Bill Joy, Guy Steele, Gilad Bracha - Prentice Hall PTR, 2005

Written by the inventors of the technology, this book provides complete, accurate, and detailed coverage of the Java programming language. If you want to know the precise meaning of the language's constructs, this is the source for you.

32. Practical Artificial Intelligence Programming in Java by Mark Watson - Lulu.com, 2008

The book uses the author's libraries and the best of open source software to introduce AI (Artificial Intelligence) technologies like neural networks, genetic algorithms, expert systems, machine learning, and NLP (natural language processing). 


Like Us on facebook
Shivam Kotwalia, CodeKill

Wednesday, 5 February 2014

20 Free Ebooks On Ruby, Javascript, Perl And Python

Python, Ruby, Perl, JavaScript, programming languages, learn programming, programming tutorials, best programming tutorials, free ebooks on programming, programming ebooks, free programming ebooks onlineWanted to learn four of the big ones from amongst the programming languages? CodeKill Group bring these ebooks which can help you get started! 


Together Ruby, JavaScript, Perl and Python make for four of the most popular programming languages being used nowadays. Learning this languages is a priority for every programmer, even if they are hackers. So, with that in mind, here CodeKill present you, 20 of the best free ebooks on these languages.

Ruby

1. The Bastards Book of Ruby: The Bastards Book of Ruby is an introduction to programming and its practical uses for journalists, researchers, scientists, analysts, and anyone else whose job is to seek out, make sense from, and show the hard-to-find data.

2. Clever Algorithms: Implementing an Artificial Intelligence algorithm is difficult. Algorithm descriptions may be incomplete, inconsistent, and distributed across a number of papers, chapters and even websites. This can result in varied interpretations of algorithms, undue attrition of algorithms, and ultimately bad science.

This book is an effort to address these issues by providing a handbook of algorithmic recipes drawn from the fields of Metaheuristics, Biologically Inspired Computation and Computational Intelligence, described in a complete, consistent, and centralized manner. These standardized descriptions were carefully designed to be accessible, usable, and understandable. Most of the algorithms described were originally inspired by biological and natural systems, such as the adaptive capabilities of genetic evolution and the acquired immune system, and the foraging behaviors of birds, bees, ants and bacteria. An encyclopedic algorithm reference, this book is intended for research scientists, engineers, students, and interested amateurs. Each algorithm description provides a working code example in the Ruby Programming Language.

3. Data Structures and Algorithms with Object-Oriented Design Patterns in Ruby: This book is about the fundamentals of data structures and algorithms--the basic elements from which large and complex software artifacts are built. To develop a solid understanding of a data structure requires three things: First, you must learn how the information is arranged in the memory of the computer. Second, you must become familiar with the algorithms for manipulating the information contained in the data structure. And third, you must understand the performance characteristics of the data structure so that when called upon to select a suitable data structure for a particular application, you are able to make an appropriate decision.

This book also illustrates object-oriented design and it promotes the use of common, object-oriented design patterns. The algorithms and data structures in the book are presented in the Ruby programming language. Virtually all the data structures are presented in the context of a single class hierarchy. This commitment to a single design allows the programs presented in the later chapters to build upon the programs presented in the earlier chapters.

4. Learn Ruby the Hard Way: Learn Ruby The Hard Way is a translation of the original "Learn Python The Hard Way" to teaching Ruby, with the translation done by Rob Sobers. "Learn Python The Hard Way" has taught hundreds of thousands worldwide how to code in Python, and this book uses the same proven method for Ruby. When you are done with this book you will have the skill to move on to other books about Ruby and be ready to understand them.

5. Learn to Program: This is the second edition of the original Learn to Program by Chris Pine. It has been updated with more current examples and has been writtent to suit the most recent version of the Ruby language.

6. Mr. Neighborly’s Humble Little Ruby Book: Mr. Neighborly's Humble Little Ruby Book covers the Ruby language from the very basics of using puts to put naughty phrases on the screen all the way to serving up your favorite web page from WEBrick or connecting to your favorite web service. Written in a conversational narrative rather than like a dry reference book, Mr. Neighborly's Humble Little Ruby Book is an easy to read, easy to follow guide to all things Ruby.

7. Programming Ruby: This book is a tutorial and reference for the Ruby programming language. Use Ruby, and you'll write better code, be more productive, and enjoy programming more.

8. Ruby Best Practices: Practice Ruby is a website that started in 2010. It contains various articles on the Ruby Programming language, which have come from the community itself.

Javascript

1. Eloquent Javascript: Eloquent JavaScript is a book providing an introduction to the JavaScript programming language and programming in general.

2. Essential JavaScript Design Patterns For Beginners: This book consists of an amalgamation of modern and classic design patterns.

3. The Node Beginner Book: The aim of this document is to get you started with developing applications with Node.js, teaching you everything you need to know about "advanced" JavaScript along the way. It goes way beyond your typical "Hello World" tutorial.

Perl:

1. Beginning Perl: This book is for those new to programming who want to learn with Perl. You will find it easier if you already have some basic programming experience, but the material covered can be mastered by anyone with just a text editor, some common sense and a computer. If you want to learn how to program with Perl and then find out how far you can go with it, this is the book for you. An excellent companion on any programming course.

2. Higher-Order Perl: The book was published on 8 March 2005. Copies are available in bookstores in the U.S. and Europe, and from online booksellers. A second printing became available in August 2005 only.

3. Impatient Perl: When you just have to learn Perl and time is of the essence, this book is your best friend.

4. Modern Perl: Modern Perl is suitable for programmers of every level. It's more than a Perl tutorial—only Modern Perl focuses on Perl 5.12 and 5.14, to demonstrate the latest and most effective time-saving features. Only Modern Perl explains how and why the language works, to let you unlock the full power of Perl.

Python:

1. A Byte of Python: 'A Byte of Python' is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.

2. How to Think Like a Computer Scientist – Learning with Python: How to Think... is a Free Book available under the GNU Free Documentation License. Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material.

3. Invent Your Own Computer Games with Python: “Invent Your Own Computer Games with Python” is a free book (as in, open source) and a free eBook (as in, no cost to download) that teaches you how to program in the Python programming language. Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the example.

4. Learn Python The Hard Way: This book tells you how the hard way is actually the easy and the right way to learn Python.

5. Non-Programmer’s Tutorial for Python 3: This wikibook covers various aspects of Python that you may have been looking for.

Shivam Kotwalia, CodeKill

Tuesday, 4 February 2014

11 Free Ebooks On Java For Various Purposes

Java, Java development, learning Java, free Java ebooks, free ebooks, ebooks on Java, Java ebooks, free ebooks on Java, Java books, best Java ebooks, learn JavaLearning Java has never been quite as important for developers as it is now. 

Are you a programmer? Are you a developer? Are you both? Well, you probably use Java either way. The language has penetrated into many areas in our lives and is literally all around us. CodeKill Group brings 11 free ebooks on Java show that and of course, they're useful for learning purposes too!


1. Java Network Programming, 4th Edition

Book Description: This practical guide provides a complete introduction to developing network programs with Java. You'll learn how to use Java's network class library to quickly and easily accomplish common networking tasks such as writing multithreaded servers, encrypting communications, broadcasting to the local network, and posting data to server-side programs.

Author Elliotte Rusty Harold provides complete working programs to illustrate the methods and classes he describes. This thoroughly revised fourth edition covers REST, SPDY, asynchronous I/O, and many other recent technologies.

2. Exam Ref 70-482: Advanced Windows Store App Development Using HTML5 and JavaScript

Book Description: Prepare for Microsoft Exam 70-482 - and help demonstrate your real-world mastery of building Windows Store apps with HTML5 and JavaScript. Designed for experienced developers ready to advance their status, Exam Ref focuses on the critical - thinking and decision-making acumen needed for success at the MCSD level.

3. Getting Started with BeagleBone

Book Description: Many people think of Linux as a computer operating system, running on users' desktops and powering servers. But Linux can also be found inside many consumer electronics devices. Whether they're the brains of a cell phone, cable box, or exercise bike, embedded Linux systems blur the distinction between computer and device.

Many makers love microcontroller platforms such as Arduino, but as the complexity increases in their projects, they need more power for applications, such as computer vision. The BeagleBone is an embedded Linux board for makers. It's got built-in networking, many inputs and outputs, and a fast processor to handle demanding tasks.

4. JavaScript Step by Step, 3rd Edition

Book Description: Expand your expertise - and teach yourself the fundamentals of JavaScript. If you have previous programming experience but are new to JavaScript, this tutorial delivers the step-by-step guidance and coding exercises you need to master core topics and techniques.

Discover how to: Work with JavaScript syntax, variables, and data types; Master techniques for building cross-browser programs; Speed up and simplify app development with jQuery; Quickly retrieve data from a server using AJAX requests; Adapt your app for mobile devices with jQuery Mobile; Build Windows 8 apps using HTML, CSS, and JavaScript.

5. Jump Start JavaScript

Book Description: JavaScript is a key technology in modern web development, enabling you to craft interactive, usable and engaging experiences for your users.

Use JavaScript to solve real world problems: build forms, track user events and craft animations; Use JavaScript with HTML5 and CSS3; Build an entire JavaScript-powered application from scratch: a task management application.

Plus you'll discover how to use modern techniques such as Canvas and Ajax.

6. Building Modular Cloud Apps with OSGi

Book Description: If you're an experienced Java developer in the enterprise, this practical, hands-on book shows you how to use OSGi to design, develop, and deploy modular cloud applications. You'll quickly learn how to use OSGi, through concise code examples and a set of best practices derived from the authors' experiences with real-world projects.

Through the course of this book, you'll learn to develop modern web applications with tools and techniques such as RESTful Web Services, NoSQL, provisioning, elasticity, Auto Scaling, hotfixes, and automatic failover.

7. Beginning Windows 8 Data Development

Book Description: This book introduces novice developers to a range of data access strategies for storing and retreiving data both locally and remotely. It provides you with a range of fully working data access solutions and the insight you need to know when, and how, to apply each of the techniques to best advantage.

Focussing specifically on how the Windows 8 app developer can work with the Windows Runtime (often called Windows RT) framework this book provides careful analysis of the many options you have open to you, along with a comparision of their strengths and weaknesses under different conditions. With the days of a single database being the right choice for almost all development projects long gone. You will lean that the right choice for your app now depends on a variety of factors and getting it right will be critical to your customer's end user experience.

8. Beginning Windows Store Application Development

Book Description: Beginning Windows Store Application Development - HTML and JavaScript Edition introduces you to the Windows 8 modern app design paradigm and the new Windows 8 programming model developed around this paradigm. You'll learn to build rich, immersive applications designed to run on the many devices powered by Windows 8.

The authors draw on their extensive practical experience to provide not only a comprehensive introduction to the model and its features, but guidance on best practices and a real-world sample application that you develop over the course of the book. Beginning Windows Store Application Development - HTML and JavaScript Edition also emphasizes how devices will be used and applications will be built in a world that has become far more connected.

9. Single Page Web Applications

Book Description: If your website is a jumpy collection of linked pages, you are behind. Single page web applications are your next step: pushing UI rendering and business logic to the browser and communicating with the server only to synchronise data, they provide a smooth user experience, much like a native application. But, SPAs can be hard to develop, manage, and test.

Single Page Web Applications shows how your team can easily design, test, maintain, and extend sophisticated SPAs using JavaScript end-to-end, without getting locked into a framework. Along the way, you'll develop advanced HTML5, CSS3, and JavaScript skills, and use JavaScript as the language of the web server and the database.

10. Making Java Groovy

Book Description: You don't need the full force of Java when you're writing a build script, a simple system utility, or a lightweight web app—but that's where Groovy shines brightest. This elegant JVM-based dynamic language extends and simplifies Java so you can concentrate on the task at hand instead of managing minute details and unnecessary complexity.

Making Java Groovy is a practical guide for developers who want to benefit from Groovy in their work with Java. It starts by introducing the key differences between Java and Groovy and how to use them to your advantage. Then, you'll focus on the situations you face every day, like consuming and creating RESTful web services, working with databases, and using the Spring framework. You'll also explore the great Groovy tools for build processes, testing, and deployment and learn how to write Groovy-based domain-specific languages that simplify Java development.

11. jMonkeyEngine 3.0 Beginner

Book Description: jMonkeyEngine 3.0 is a powerful set of free Java libraries that allows you to unlock your imagination, create 3D games and stunning graphics. Using jMonkeyEngine's library of time-tested methods, this book will allow you to unlock its potential and make the creation of beautiful interactive 3D environments a breeze.

jMonkeyEngine 3.0 Beginner's Guide teaches aspiring game developers how to build modern 3D games with Java. This primer on 3D programming is packed with best practices, tips and tricks and loads of example code. Progressing from elementary concepts to advanced effects, budding game developers will have their first game up and running by the end of this book. 


CodeKill

Sunday, 26 January 2014

Syntax Differences Between C++ And Java

Syntactical differences between Java and C++ are small, but important. It can become difficult for a coder, especially when they are moving from C++ to Java.                     

        Are you having a tough time differentiating between C++ and Java? Do you keep using the semicolon when you're not supposed to? While the two languages are similar, there are certain syntactical differences that can be confusing. Here’s something that will come in handy.

The main functionC++

int main( int X, char* Y[])
{
printf( "Hello, world" );
}

Java

Every function in Java has to be made a part of a class. So, the main function also has to be a part of a class. Moreover, in Java there is one main() function for every class. This can come in handy when writing unit tests for the class.

class HelloWorld
{
public static void main(String X[])
{
System.out.println( "Hello, World" );
}
}

Compiling

C++

In C++, you will be compiling as,

g++ X.cc -o outfile

This will then be run with,

./outfile

Java

In Java, you will compile the classes in X.java.

javac X.java

You have to run this by invoking the static main method.

Class declarations

While C++ requires a semicolon at the end of class declarations, Java does not have any such requirement.

C++

class X{};

Java

class X{}

Method declarations

A method declaration in Java must be a part of a class always. Otherwise, both the languages are quite the same syntactically on this front. You can also use the public, private and protected access specifications in Java.

Constructors and destructors

In the case of constructors, the syntax in both C++ and Java is the same. Java though has no exact replacement for destructors.

Static members

Static members (variables and functions) are also declared in the same way in both the languages. But, Java allows for static initialisation blocks in order to initialise static variables.

class Foo
{
static private int x;
// static initialization block
{ x = 5; }
}

Scoop static namespaces and methods

C++

In C++, you will use the Class::method form in order to scoop static methods.

class MyClass
{
public:
static do();
};

Use this by,

MyClass::do();

Java

In Java, on the other hand, scooping comes with the use of the .again parameter. This is similar to accessing the fields of a class.

class MyClass
{
public static do()
{
// do something
}
}

To use the static method.

MyClass.doStuff();

Object declarations
C++

// on the stack
myClass x;

// or on the heap
myClass *x = new myClass;

Accessing fields from various objects

C++

In order to access fields from classes and other such objects, the programmer has to use dots.

myClass x;
x.field;

If a pointed is involved, then the narrow operator (->) has to be used.

myClass x = new MyClass();
x->field;

Java

In Java, only the dot is used. Since we always use references in Java, even pointers are accessed using the dot.

myClass x = new MyClass();
x.field;

Protection levels

They are specified in a different manner.

C++

public:
void X();
void Y();

Java

public void X();
public void Y();


Virtual functions

C++

virtual int X();

Virtual functions can also be used non virtually. You can simply say into X().

Java

int foo(); // or, final int foo();

In Java, functions are always virtual by default. You use ‘final’ in order to avoid them from being overridden.

Abstract Classes

C++

All you need to do is include public virtual functions./

class X{ public: virtual void X() = 0; };

Java

In Java the syntax allows the programmer to be explicit.

abstract class X{ public abstract void X(); }

If you want to specify an interface, then say,
interface X{ public void foo(); }

In that case though, you will have to implement it by,
class Y implements X
{
public void M() { /* do something */ }
}

Memory management

This is also pretty much the same in both the languages, except that Java has garbage collection, so no delete for Java.
                                                                                

Labels

Tutorial (129) Tech News (83) E-Books (55) Pdf (47) Hacking (46) Linux (32) Android (23) Programming (22) Tools (22) Video (21) Ethical Hacking (16) Electronics (12) Google (10) Hacked (9) Python (9) Facebook (8) Java (8) Software (8) PHP (7) Android App (6) C (6) Free Online Coureses (6) OpenSource (6) Ubuntu (6) Unix (6) Windows (6) C++ (5) Game Programming (5) Java Programming (5) Kali Linux (5) CodeKill (4) Cryptography (4) Firefox (4) JavaScript (4) Linux System Administrator (4) Mac (4) Penetration testing (4) Python Programming (4) Security (4) Top Distros (4) WhatsApp (4) CSS (3) Circuit (3) Cloud Computing (3) Game Devlopment (3) Hacking Tools (3) Malware (3) MicroController (3) Microsoft (3) Networking Tool (3) Perl (3) Source Code (3) WebSite (3) Windows 8.1 (3) C Programming (2) C Series (2) C# (2) CheetSheet (2) Computer (2) Computer Networking (2) Data Storage (2) Dual Boot (2) Eclipse (2) Edward Snowden (2) Exploit (2) Facts (2) Games On Linux (2) Google Chrome (2) HTML5 (2) Hacking Challenges (2) IDE's (2) Information Security (2) Lenovo (2) Linux Kernel (2) Malicious (2) Mobile (2) Motorola (2) Mozilla (2) MySQL (2) NoSQL (2) Raspberry Pi (2) Ruby (2) Security Tools (2) Syrian Electronic Army (2) Tricks and Tips (2) Valentine Day (2) Web Design (2) iOS (2) iPhone (2) jQwery (2) *nix (1) 2014 (1) 3D Modeling (1) Algorithm (1) Android Hacking (1) Android Pattern Lock Screen.. (1) Anonymous Mail (1) Anti-Spam (1) Apps (1) Arduino (1) Artificial Intelligance (1) Audio Software (1) BSD (1) BeAWARE (1) Bitcoin (1) Black Hat Hackers (1) BlackBerry (1) Buffer Overflow (1) C++ vs Java (1) CISO (1) Circuit Analysis (1) Circuit Design (1) Circuit Programming (1) Circuit Simulators (1) Codes (1) Crptology (1) Cryptanalysis (1) DDOS (1) Devlopers (1) Drupal (1) DuckDuckGo Search Engine (1) E-Card (1) E-Mails (1) Embedded System (1) Encryption Tools (1) Error (1) FTP (1) Famous Passwords (1) FileZilla (1) Flipkart (1) Forbes (1) Forgot Password (1) GCHQ (1) Genders (1) Gmail (1) Google Tricks and Trips (1) HTML (1) Hacking Distro (1) Hard Disk (1) Hash Encryption (1) Illegal (1) Internet (1) LAMP (1) Language Theory (1) LibreOffice (1) Linus Trovalds (1) Logic Gates (1) MATLAB (1) MOSFET (1) Mail (1) Mark Zuckerberg (1) Mathematical (1) MicroProcessor (1) Mind Mapping Tools (1) Myntra (1) NoSQL Database (1) Nobal Prize (1) Nokia (1) Object Oriented Programming (1) Office (1) Oldboot (1) Online (1) Paranoid Android (1) Passwords (1) Passwords Cracking Tools (1) PayPal (1) Perl Programming (1) Plugins (1) Prolog Programming (1) Python Basics (1) Remote (1) SEA (1) SQL Injection (1) Sans (1) Screencasts (1) Screenloggers (1) Server Load (1) Servers (1) Shell (1) Software Design (1) Software Developer (1) Software Testing (1) Sony (1) Spider.io (1) Statistical (1) Steve Jobs (1) TCP/IP (1) Timeline (1) Tor (1) Trojan (1) Ubuntu Phones (1) VAIO (1) Virus (1) Web Designers (1) Wi-Fi Hacking (1) Windows Tools (1) Windows XP (1) WordPress (1) XML (1) Yahoo (1) YouTube (1) cpp (1) eBay (1) iBanking (1)