Monday, 30 June 2014

Useful Books For Every Programmer

To keep abreast with new and updated programming methods, every programmer needs to take assistance of books from time to time. We bring some selected ones for you...

As stated on fromdev.com, here’s looking at ten most influential books that offer a wealth of information for a computer programmer.

1. Code Complete

This practical handbook written by Steve McConnell and the first edition provides classical programming information. The second edition offers chapters related to C++ and Java programming that assist in improving the overall capabilities of a developer and resolving doubts.

2. The Pragmatic Programmer

This book explains the mechanics of programming that assist in writing flexible and adaptable code. It offers guidelines for utilizing tools and testing codes in an efficient manner. Further, it offers several concepts for developing high quality code.

3. Structure and Interpretation of Computer Programs

This book has researched material collated by Professors Abelson and Sussman. The book offers answers to several difficult questions of programming. The book also offers simple solutions to complex programming. The book further explains the four trends of programming languages – imperative, object-oriented, logic based and applicative programming.

4. C Programming Language (2nd Edition)

This book by Kernighan and Ritchie offers classic programming structures for core C programmers that has the use of data types, if/else, for, print, while, functions, arrays, variables etc. It even has good programming methods and code reuse.

5. Introduction to Algorithms

This book offers a series of mathematical operations and algorithm required for core programming. It has lessons on introduction to algorithm offering programming courses designed specifically for college students learning programming courses. The book is authored by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein.

6. Refactoring: Improving the Design of Existing Code

The book authored by Martin Fowler, Kent Beck, John Brant, William Opdyke and Don Roberts is about refactoring, principles of refactoring, smell codes, building test scripts, composing methods, organizing data, designing methods, generalization and using tools.

7. The Mythical Man-Month

This book written by Frederick P. Brooks offers information about many developments in software tools and environment for over two decades. It also provides details regarding man-month system, second system effect, the conceptual integrity, pilot plant, documentation, communication, code freezing, system versioning and tools.

8. The Art of Computer Programming

This book is authored by Donald Knuth and it provides chapters on basic algorithm, sorting & searching, semi-numerical algorithm, syntactic algorithms, combinatorial algorithm, compilers and the theory of context free languages. It is a good reference guide for a programmer.

9. Clean Code

This book by Robert C. Martin talks about clean code practices and suggests the Boy Scout Rule to write clean code. The code examples cited in the books are primarily in Java but the guidelines have also been explained in other languages.

10. Coders At Work

This book authored by Peter Seibel is based on conversation with computer scientists and great programmers. The entire concept is based on the series of 15 interviews written with an introduction in the format of transcripts. It has a Q & A part that explains how programmers learn programming and practice it.

Wednesday, 25 June 2014

Websites That Will Challenge Programmers!

Programming challenges, Codechef, TopCoder, best coding challenges, top coding challenges, best coding challenges, coding competition, learn coding Programming challenges can do three things for you — polish your skills, earn you prizes and land you a job. There are various websites on the internet that hosts challenges for programmers. Winners are often given prizes, which are even cash prizes sometimes. Here are 9 such websites that you can use.


1. Top Coder

This is the biggest competitive software development community in the world. It has members from over 200 countries and the number of members spread over 200,000. You can find contests in Java, C# and C++.

2. Codechef

This website originates in India and has over 25,000 members. It gets membership from all over the world though and hosts events, contest and training for them.

3. Apps for Development

This is a website by the World Bank, inviting developers to create innovative tools and apps by making use of the data that it has collected through its Open Data Initiative.

4. Facebook Engineering Puzzles

Facebook's Engineering Puzzles are available on the company's careers page. It can be a good opportunity for you to land a job at the world's biggest social network, which has been known to have one of the best work environments.

5. HTML5Contest

This website hosts monthly contests. It has been created by a gaming company looking to promote HTML5 mobile games using these contests.

6. Al Zimmermann’s Programming Contests

This website hosts two programming contests every year. Interestingly, it doesn't ask you for the code that you have written and you just have to come up with the solution. Hence, a programmer can use any tool that they want to solve the problems

7. Programming Paraxis

This website contains a number of programming problems that can be solved using various programming languages.

8. Project Euler

This is a well known website amongst programmers, which hosts challenges in computer and mathematics.

9. Python challenge

As evident from the name, this website hosts challenges to be solved using the Python programming language.

Sunday, 22 June 2014

Looking For Codes? Try these!

Well, if you're a web designer/developer, you must have a knack for coding. Time and again coders need to check out codes that have been there for sometime. There are a number cool search engines for this purpose. Here are eight good ones!

1.Debian Code Search

Debian Code Search (DCS) is a search engine for source code — it searches all the open source projects which are included in the Debian archive (the main distribution only, not non-free or contrib). Currently, that includes about 18000 packages with 140 GiB of source code.

2.Codase

Codase hosts huge amount of open source codes providing a much better coverage, as it covers codes usually hidden inside compressed files and source control repositories, where general search engines fail to find and index.

3.GrepCode

GrepCode can be used to find: Java projects, Java classes, interfaces, enums, annotations (Java Types) and Java methods. In addition, GrepCode allows users to do stacktrace searches and find usages of classes and methods.

4.Lucene

Krugle is a search engine that allows computer programmers and other developers to search Open Source repositories to locate open source code, and quickly share the code with other programmers on the internet.

5.searchcode

searchcode is a free source code and documentation search engine. API documentation, code snippets and open source (free sofware) repositories are indexed and searchable.

6.Antepedia

Antepedia offers the newest and most relevant information for your open source management and detection projects. It is a public site where you can search for a project, or submit those that are not indexed in the Antepedia Community.

7.Ohloh

Ohloh is a free, public directory of Free and Open Source Software and the contributors who create and maintain it. Ohloh Code is a publicly available, free code search site that indexes most of the projects in Ohloh.

8.GitHub

GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both paid plans for private repositories, and free accounts for open source projects.  

Author : ShivamKotwaliaCodeKill

Sunday, 23 February 2014

The Top 10 Greatest Programmers in the World of all Time

Greatest Programmers in the World of all Time 

Dennis Ritchie


Dennis MacAlistair Ritchie was an American computer scientist who "helped shape the digital era". He created the C programming language and with long-time colleague Ken Thompson, the Unix operating system. Ritchie and Thompson received the Turing Award from the ACM in 1983, the Hamming Medal from the IEEE in 1990 and the National Medal of Technology from President Clinton in 1999. Ritchie was the head of Lucent Technologies System Software Research Department when he retired in 2007.



Bjarne Stroustrup


Bjarne Stroustrup is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. He is a Distinguished Research Professor and holds the College of Engineering Chair in Computer Science at Texas A&M University, a visiting professor at Columbia University, and works at Morgan Stanley.

Linus Torvalds


Linus Benedict Torvalds is a Finnish American software engineer, who was the principal force behind the development of the Linux kernel. He later became the chief architect of the Linux kernel, and now acts as the project's coordinator. He also created the revision control system Git as well as the diving log software Subsurface. He was honored, along with Shinya Yamanaka, with the 2012 Millennium Technology Prize by the Technology Academy Finland in recognition of his creation of a new open source operating system for computers leading to the widely used Linux kernel.

Tim Berners-Lee


Sir Timothy John "Tim" Berners-Lee also known as "TimBL," is a British computer scientist, best known as the inventor of the World Wide Web. He made a proposal for an information management system in March 1989 and he implemented the first successful communication between a Hypertext Transfer Protocol (HTTP) client and server via the Internet. Berners-Lee is the director of the World Wide Web Consortium (W3C), which oversees the Web's continued development.

Brian Kernighan


Brian Wilson Kernighan is a Canadian computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix. He is also coauthor of the AWK and AMPL programming languages. Kernighan's name became widely known through co-authorship of the first book on the C programming language with Dennis Ritchie.

Donald Kuth


Donald Ervin Knuth is an American computer scientist, mathematician, and Professor Emeritus at Stanford University. He is the author of the multi-volume work The Art of Computer Programming. Knuth has been called the "father" of the analysis of algorithms. He contributed to the development of the rigorous analysis of the computational complexity of algorithms and systematized formal mathematical techniques for it. In the process he also popularized the asymptotic notation. Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system and the Computer Modern family of typefaces.

Ken Thompson


Kenneth Thompson commonly referred to as ken in hacker circles is an American pioneer of computer science. Having worked at Bell Labs for most of his career, Thompson designed and implemented the original Unix operating system. He also invented the B programming language, the direct predecessor to the C programming language, and was one of the creators and early developers of the Plan 9 operating systems. Since 2006, Thompson works at Google, where he co-invented the Go programming language.


Guido van Rossum

Guido van Rossum is a Dutch computer programmer who is best known as the author of the Python programming language. In the Python community, Van Rossum is known as a "Benevolent Dictator For Life" (BDFL), meaning that he continues to oversee the Python development process, making decisions where necessary. He was employed by Google from 2005 until December 7th 2012, where he spent half his time developing the Python language. In January 2013, Van Rossum started working for Dropbox.

James Gosling


James Arthur Gosling is a Canadian computer scientist, best known as the father of the Java programming language. James has also made major contributions to several other software systems, such as NeWS and Gosling Emacs. Due to his extra-ordinary achievements Gosling was elected to Foreign Associate member of the United States National Academy of Engineering.

Bill Gates


William Henry "Bill" Gates III is an American business magnate, investor, programmer, inventor and philanthropist. Gates is the former chief executive and chairman of Microsoft, the world’s largest personal-computer software company, which he co-founded with Paul Allen.

Author : Shivam Kotwalia, CodeKill

Free E-Books On Programming Language Theory

Carnegie Mellon, programming language theory, ebooks on programming, ebooks, free ebooks, programming tips, learn programming, programming theory, tech news, newsThese books will help, especially if you're looking to build a career in programming. 

We all love to practice when it comes to programming, but it is as important to learn the theory behind these programming languages if you are seeking a career with these. So for all the new and pro programmers out there, we bring a sorted collection of 31 ebooks on the theory of various programming languages. For anyone who has just entered the bubble of programming language or someone who is still trying to choose the language they want to peruse, these books are a must read.
Programming Languages: Theory and Practice

by Robert Harper - Carnegie Mellon University , 2005

As the introduction of the book says, "What follows is a working draft of a planned book that seeks to strike a careful balance between developing the theoretical foundations of programming languages and explaining the pragmatic issues involved in their design and implementation."

Semantics of Programming Languages

by Andrew M. Pitts - University of Cambridge , 2002

As the introduction of the book says, "These notes introduce the structural, operational approach to programming language semantics. The course shows how to specify the meaning of some simple programming language constructs and to reason formally about semantic properties of programs."

Linkers and Loaders

by John R. Levine - Morgan Kaufmann , 1999

As the introduction of the book says, "The author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the performance-improving techniques supported by many modern linkers, etc."

The Theory of Languages and Computation

by Jean Gallier, Andrew Hicks - University of Pennsylvania , 2006

As the introduction of the book says, "From the table of contents: Automata; Formal Languages (A Grammar for Parsing English, Context-Free Grammars, Derivations and Context-Free Languages, Normal Forms for Context-Free Grammars, Chomsky Normal Form, ...); Computability; Current Topics."

Semantics: Advances in Theories and Mathematical Models

by Muhammad Tanvir Afzal (ed.) - InTech , 2012

As the introduction of the book says, "The book is a blend of a number of great ideas, theories, mathematical models, and practical systems in the domain of Semantics. Topics include: Background; Queries, Predicates, and Semantic Cache; Algorithms and Logic Programming; etc."

Exploring Programming Language Architecture in Perl

by Bill Hails , 2010

As the introduction of the book says, "This book presents an informal and friendly introduction to some of the core ideas in modern computer science, using the programming language Perl as its vehicle. The book takes the form of a series of working interpreters for the language PScheme."

Formal Languages

by Keijo Ruohonen - Tampere University of Technology , 2009

As the introduction of the book says, "In these notes the classical Chomskian formal language theory is fairly fully dealt with, omitting however much of automata constructs and computability issues. Surveys of Lindenmayer system theory and the mathematical theory of codes are given."

Formal Language Theory for Natural Language Processing

by Shuly Wintner - ESSLLI , 2001

As the introduction of the book says, "This text is a mild introduction to Formal Language Theory for students with little or no background in formal systems. The motivation is Natural Language Processing, and the presentation is geared towards NLP applications, with extensive examples."

The Z Notation: A Reference Manual

by J. M. Spivey - Prentice Hall , 1992

As the introduction of the book says, "The standard Z notation for specifying and designing software has evolved over the best part of a decade. This an informal but rigorous reference manual is written with the everyday needs of readers and writers of Z specifications in mind."

Lecture Notes on the Lambda Calculus

by Peter Selinger - Dalhousie University , 2007

As the introduction of the book says, "Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference, etc."

Compositional Semantics

by Gary Hardegree - UMass Amherst , 2009

As the introduction of the book says, "Contents: Basic Categorial Syntax; Shortcomings of Standard Categorial Syntax; Expanded Categorial Syntax; Examples of Expanded Categorial Syntax; Categorial Logic; Basic Categorial Semantics; Lambda-Abstraction; Expanded Categorial Semantics; etc."

Comparative Studies of Programming Languages

by Joey Paquet, Serguei A. Mokhov - arXiv , 2010

As the introduction of the book says, "Lecture notes for the Comparative Studies of Programming Languages course. These notes include a compiled book of primarily related articles from the Wikipedia, as well as Comparative Programming Languages book and other resources."

Datalogi V - Programming Languages

by A. Filinski, R. Gluck, N. D. Jones - Datalogisk Institut , 2007

As the introduction of the book says, "This text concerns several dimensions of programming languages. We will emphasize precise definitions of the effects of various programming language features, the semantics and implementation of programming languages, and proofs concerning programs."

Let Over Lambda: 50 Years of Lisp

by Doug Hoyte - Lulu.com , 2008

As the introduction of the book says, "One of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. This book is about macros, that is programs that write programs."

Proofs and Types

by J. Girard, Y. Lafont, P. Taylor - Cambridge University Press , 1989

As the introduction of the book says, "This little book comes from a short graduate course on typed lambda-calculus given at the Universite Paris. It is not intended to be encyclopedic and the selection of topics was really quite haphazard. Some very basic knowledge of logic is needed."

Dictionary of Programming Languages

by Neal Ziring , 1998

As the introduction of the book says, "The Dictionary of Programming Languages is an online compendium of computer coding methods assembled to provide information and aid your appreciation for computer science history. The dictionary currently has over 120 entries."

Implementing Functional Languages: a tutorial

by Simon Peyton Jones, David Lester - Prentice Hall , 1992

As the introduction of the book says, "This book gives a practical approach to understanding implementations of non-strict functional languages using lazy graph reduction. It is intended to be a source of practical material, to help make functional-language implementations come alive."

Formal Syntax and Semantics of Programming Languages

by Kenneth Slonneger, Barry L. Kurtz - Addison Wesley Longman , 1994

As the introduction of the book says, "The book presents the typically difficult subject of formal methods in an informal, easy-to-follow manner. Readers with a basic grounding in discreet mathematics will be able to understand the practical applications of these difficult concepts."

Computational Category Theory

by D.E. Rydeheard, R.M. Burstall , 2001

As the introduction of the book says, "The book is a bridge-building exercise between computer programming and category theory. Basic constructions of category theory are expressed as computer programs. It is a first attempt at connecting the abstract mathematics with concrete programs."

Categories, Types, and Structures

by Andrea Asperti, Giuseppe Longo - MIT Press , 1991

As the introduction of the book says, "Here is an introduction to category theory for the working computer scientist. It is a self-contained introduction to general category theory and the mathematical structures that constitute the theoretical background."

Understanding Programming Languages

by Monti Ben-Ari - John Wiley & Sons , 1996

As the introduction of the book says, "The book explains what alternatives are available to the language designer, how language constructs should be used for safety and readability, how language constructs are implemented, the role of language in expressing and enforcing abstractions."

Principles of Programming Languages

by Mike Grant, Zachary Palmer, Scott Smith , 2009

As the introduction of the book says, "An introduction to the study of programming languages for juniors, seniors, and graduate students. The book treats topics from a foundational perspective, it focuses on core concepts in language design, not directly on applied languages."

Partial Evaluation and Automatic Program Generation

by Neil D. Jones, Carsten K. Gomard, Peter Sestoft - Prentice Hall , 1993

As the introduction of the book says, "The book about partial evaluation, a program optimization technique also known as program specialization. It presents principles for constructing partial evaluators for a variety of programming languages, and gives references to the literature."

Type Systems for Programming Languages

by Robert Harper , 2000

As the introduction of the book says, "Provides an account of the role of type theory in programming language design and implementation. The stress is on the use of types as a tool for analyzing programming language features and studying their implementation."

Practical Foundations for Programming Languages

by Robert Harper , 2008

As the introduction of the book says, "This is a book on the foundations of programming languages. The emphasis is on the concept of type, which organizes the computational universe in the same way that the concept of set may be seen as an organizing principle for mathematics."

Semantics With Applications: A Formal Introduction

by Hanne Riis Nielson, Flemming Nielson - John Wiley & Sons , 1992

As the introduction of the book says, "The book covers the foundations of structural operational semantics and natural semantics. It shows how to describe the semantics of declarative as well as imperative language constructs and will also touch upon non-sequential constructs."

Reasoned Programming

by Krysia Broda et al - Prentice Hall Trade , 1994

As the introduction of the book says, "The text for advanced undergraduate/graduate students of computer science. It introduces functional, imperative and logic programming and explains how to do it correctly. Functional programming is presented as a programming language in its own right."

Denotational Semantics: A Methodology for Language Development

by David Schmidt - Kansas State University , 2009

As the introduction of the book says, "Denotational semantics is a methodology for giving mathematical meaning to programming languages and systems. This book was written to make denotational semantics accessible to a wider audience and to update existing texts in the area."

A Practical Theory of Programming

by Eric C.R. Hehner - Springer , 2006

As the introduction of the book says, "Understanding programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. It describes a simple and comprehensive theory."

Programming Languages: Application and Interpretation

by Shriram Krishnamurthi - Lulu.com , 2007

As the introduction of the book says, "The textbook for a programming languages course, taken primarily by advanced undergraduate and beginning graduate students. This book assumes that students have modest mathematical maturity, and are familiar with the existence of the Halting Problem."

Structure and Interpretation of Computer Programs

by Harold Abelson, Gerald Jay Sussman, Julie Sussman - McGraw-Hill , 1996

As the introduction of the book says, "The book teaches how to program by employing the tools of abstraction and modularity. The central philosophy is that programming is the task of breaking large problems into small ones. You will learn how to program and how to think about programming."


Author : Shivam Kotwalia, CodeKill

Saturday, 15 February 2014

10 Best Programming Languages For 2014

Programming, Languages, Clojure, Efficiency, Common Lisp, Go, R, JavaScript, Prolog, RacketProgramming languages are crucial to a programmer as they boosts their productivity. Keeping in mind the fact that programmers may not be comfortable with all the coding languages around, we thought of compiling a list of programming languages set to make it big in 2014. 

Productivity of programmers depends largely on how comfortable they are with a programming language. Coding could be great fun if you like the language and you are sure that the language will help you grow as well. Well, we are aware that with a host of programming languages around, it could be difficult for you to pick the best for yourself. Worry not! Here's a list of top 10 programming languages poised to make it big this year. Get started and happy coding!
1. Clojure- “A Lisp for Functional Programming symbiotic with an established Platform designed for Concurrency.”

Interest areas: A lisp, Macros, Functional programming, Concurrency, Efficiency, Concision, Clojurescript and Community.

2. Common Lisp- This is a general-purpose, multi-paradigm programming language supporting a combination of procedural, functional, and object-oriented programming paradigms.

Interest areas: A lisp, Macros, Multi-paradigm, Efficiency and Huge standard library.

3. Go – This is an open source programming environment making it easy to create simple, reliable, and efficient software.


Interest areas: C replacement, Efficiency, Concurrency, Systems programming and Concision.

4. Haskell– This is an advanced purely-functional programming language. It is an open-source product with over twenty years of cutting-edge research allowing rapid development of robust, concise, correct software.


Interest areas: Functional programming, Concision, Purity, Advanced type system, Parallelism & concurrency, Efficiency, Monads and Community.

5. J – This is a modern, high-level, general-purpose, high-performance programming language. It is quite strong in the mathematical, statistical, and logical analysis of data.

Interest areas: APL-like power with a normal keyboard, Array language, Concision and Big data.

6. JavaScript – It is the language of the internet and is the most popular one for web developers.

Interest areas: Only game in town for browsers and Compilation target for browsers.

7. Prolog – This is a high-level programming language based on formal logic. Not similar to traditional programming languages, which are based on performing sequences of commands, it is based on defining and then solving logical formulas.

Interest areas: Logic language, A new paradigm and AI.

8. R – This is a language and environment for statistical computing and graphics. It is a GNU project that is similar to the S language and environment that was created at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues.

Interest areas: Statistics, Big data and Extensive statistical/numerical library.

9. Racket – This is a general purpose, multi-paradigm programming language in the Lisp/Scheme family. Among its design goals is to serve as a platform for language creation, design, and implementation.

Interest areas: A lisp, Functional programming, Continuations, Hygienic macros, Concurrency, Efficiency, Built-in web server, Concision, Can be small & clean and pg used it for implementing Arc.

10. Ruby – This is a language of careful balance. Its maker, Yukihiro “Matz” Matsumoto, mixed portions of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) for forming a new language that balances functional programming with imperative programming.

Interest areas: Joy to program, Concision, Rails, Community, Primary revenue generating language currently and dead slow, but lovable. 


Author : Shivam Kotwalia, CodeKill

10 Places For Freelance Designers And Programmers To Find Work

This is where you can find freelance projects sitting back at home!

Working as a freelancer have many advantages and is a dream for many designers as this not only gives you the freedom to choose the jobs you really want to do but also lets you work in a flexibile atmosphere in terms of time and place of work. Although there is always a flip side to the coin, what if some day you are totally out of projects? To help you with that, we bring to you 10 places that might come in handy in finding your dream projects!
Programmer, designer, freelance programmer, find freelance jobs, free lance jobs, freelance jobs, freelance designers

 
1. GetAFreelancer

You can both grab a project or post it on this platform. The website is a galaxy of skilled web designers, copywriters or freelance programmers. You can find and give work at the best prices.

2. Odesk

Established in 2004, this website was one revolution in the work marketplace. The website is a win-win for both freelancers and the employers. Employers can find the top-flight talent and the professionals can find jobs with an average worth of $5,000.

3. RentACoder

Rent a coder is a website where a software developer can get plenty of jobs and in return can earn plenty of money. This is perfectly a legit site and the fact that it is only a medium for giving work to interested hunters makes it tempting.

4. Project4hire

This freelance marketplace offers an array of opportunities to contractors and thereby require them to pay a small amount as a commission to tech site, on being awarded a project. Apart from this, it is easy to use and a great platform to post projects and find freelance professionals like coders, consultants, graphic designers, software developers.

5. FreelancingJob

Webmasters need to have several jobs put together to frame a compelling website. This includes copy-writing, website designing, coding, web developer and several others. Find them all at this emerging online platform.

6. GetACoder

The growth of a business is decided by the resources that it is able to explore and access, to get the competitive advantage. Save costs and enhance efficiencies by outsourcing your programming, writing and web designing jobs to the right people at this famous online freelance portal.

7. Pro-Freelance

Pro-Freelance is a platform where freelancers can find all freelance projects from most important sites and the projects owners can find best experts at the best price. you can also freely propose your services on our classified page.

8. Smashing Jobs

A great thing about posting your job on this site is that the jobs listed here are soon featured among one of the top 20 blogs of the world. This is again a nice job portal to find programming and designing jobs, besides all others.

9. Elance

A famous online portal for freelancers, this is an ultimate place to meet professionals with business, technical and marketing expertise to get work done at an affordable price.

10. Guru

Like other freelance websites, this is another source to find the indutry’s most ultimate professionals from world over. However, safer way to pay through Escrow gives this site an edge over other freelance sites. From business, creative arts to technology, select your favorite category and get started.


Author : Shivam Kotwalia, CodeKill

Friday, 14 February 2014

17 Free eBooks On Prolog Programming

Prolog, prolog programming, learn prolog, free ebooks, ebooks, ebooks on prolog, free ebooks on prolog, resources on prolog, learn prolog, programming, programmer, artificial intelligence, computer linguisticIts time to build awesome robots by learning Prolog, an open source programming language focused on artificial intelligence and computer linguistics!

If you are into computer linguistics or artificial intelligence, the general purpose logic programming language Prolog is the one for you. Here we bring 17 free ebooks to help you understand the language better!

1. Prolog Programming in Depth
by Michael A. Covington, Donald Nute, Andre Vellino - Prentice-Hall, 1997
Full coverage of the Prolog programming language including the latest ISO standard. Includes ready-to-run code for expert system shells, other intelligent problem-solvers, and algorithms to read foreign file formats, even Lotus spreadsheets.

2. Simply Logical: Intelligent Reasoning by Example
by Peter Flach - John Wiley, 1994
An introduction to Prolog programming for artificial intelligence covering both basic and advanced AI material. A unique advantage to this work is the combination of AI, Prolog and Logic. Each technique is accompanied by a program implementing it.

3. Natural Language Processing Techniques in Prolog
by Patrick Blackburn, Kristina Striegnitz - Union College, 2002
Contents: Finite State Automata; Finite State Parsers and Transducers; Finite State Methods in Natural Language Processing; Recursive Transition Networks (RTNs); RTN transducers and ATNs; Definite Clause Grammars; Bottom Up, Top Down Parsing; etc.

4. Prolog Programming
by Roman Bartak, 1998
Prolog is a programming language with precise operational meaning that borrows its basic concepts from logic programming. This text is an introduction to logic programming and Prolog for beginners but it also covers some advanced topics.

5. Artificial Intelligence through Prolog
by Neil C. Rowe - Prentice-Hall, 1988
Artificial intelligence is a hard subject to learn. The author have written a book to make it easier. He explains difficult concepts in a simple, concrete way. This book is intended for all first courses in artificial intelligence.

6. Applications of Prolog
by Attila Csenki - BookBoon, 2009
In this volume the author discusses some areas where Prolog can be fruitfully employed. The book comprises four chapters: Enigma 1225: Rows are Columns; Blind Search; Informed Search; Text Processing. There are 54 exercises in this book.

7. Prolog Techniques
by Attila Csenki - BookBoon, 2009
This is the first of two volumes by the author on the programming language Prolog and its applications. In the first volume you can read about the accumulator technique, difference lists, program manipulations and exploratory code development.

8. Natural Language Processing in Prolog
by Gerald Gazdar, Chris Mellish - Addison-Wesley, 1989
The major focus of this book is on the processing of the orthographic forms of natural language utterances and text. Most of the book deals with the parsing and understanding of natural language, much less on the production of it.

9. An Introduction to Logic Programming through Prolog
by Michael Spivey - Prentice Hall, 2008
Using theory as a foundation for practical programming, this text presents the theory of logic programming with clear proofs and implementation techniques. It covers logical theory, programming, and the structure of a simple Prolog implementation.

10. Learn Prolog Now!
by Patrick Blackburn, Johan Bos, Kristina Striegnitz - College Publications, 2006
One of the most popular introductions to Prolog, an introduction prized for its clarity and down-to-earth approach. It is widely used as a textbook at university departments around the world, and even more widely used for self study.

11. Building Expert Systems in Prolog
by Dennis Merritt - Amzi! inc., 2000
This book is designed to teach you how to build expert systems from the inside out. The author presents the various features used in expert systems, shows how to implement them in Prolog, and how to use them to solve problems.

12. Adventure in Prolog
by Dennis Merritt - Springer, 1990
This book takes a pragmatic, rather than theoretical, approach to the language and is designed for programmers interested in adding this powerful language to their bag of tools. Much of the book is built around the writing of a short adventure game.

13. The First 10 Prolog Programming Contests
by Bart Demoen, Phuong-Lan Nguyen, Tom Schrijvers, Remko Troncon, 2005
This book shows solutions to problems that were in the first 10 Prolog Programming Contests. The solutions could have been constructed during the contest under time pressure, and so you will find many solutions using the generate and test strategy.

14. Prolog Programming: A First Course
by Paul Brna, 1999
These notes are designed for undergraduate students who have some programming experience. The function of the text is to provide students studying Artificial Intelligence with an intensive introduction to Prolog, there is a slight bias towards AI.

15. Prolog Experiments in Discrete Mathematics, Logic, and Computability
by James Hein - Portland State University, 2009
Programming experiments designed to help learning of discrete mathematics, logic, and computability. Most of the experiments are short and to the point, just like traditional homework problems, so that they reflect the daily classroom work.

16. Logic, Programming and Prolog
by Ulf Nilsson, Jan Mauszynski - John Wiley & Sons Inc, 1995
This textbook provides a uniform account of both the foundations of logic programming and simple programming techniques in the programming language Prolog. The authors limited their attention to the most important areas of logic programming.

17. Prolog and Natural-Language Analysis
by F. C. N. Pereira, S. M. Shieber - Center for the Study of Language, 2002
A concise introduction to logic programming and the logic-programming language Prolog both as vehicles for understanding elementary computational linguistics and as tools for implementing the basic components of natural-language-processing systems.


Author : Shivam Kotwalia, CodeKill

Thursday, 13 February 2014

15 Free Miscellaneous Ebooks On Programming!

We do a lot of ebooks on specific programming languages. But there are many other free ebooks on programming that will be very useful to each and every programmer. So, here's what you need to read.
programming, ebooks on programming, free programming ebooks, free ebooks, learn programming, best programming ebooks, programming ebooks
1. A to Z of C: Throughout the world many people have contributed to this work by providing their valuable articles, source codes, suggestions, etc. The notable experts are Dr. Dennis M. Ritchie, Dr. Ralf Brown, Mr. Alexander Russell, Dr. Cristina Cifuentes and so many.

2. Algorithms: This is a collection of lecture notes from graduate and under-graduate classes at the University of Illinois.

3. Building Accessible Websites: Many have said that this book is by far the most complete resource on the topic of Web Accessibility.

4. The C Book: This is the online version of The C Book, second edition by Mike Banahan, Declan Brady and Mark Doran, originally published by Addison Wesley in 1991. This version is made freely available.

5. C# Yellow Book: The C# Yellow Book is used by the Department of Computer Science in the University of Hull as the basis of the First Year programming course.

6. Compiler Construction: As the book itself states, this is a slightly revised version of the original, which was published by Addison Wesley back in 1996.

7. The Implementation of Functional Programming Languages: This book was originally published in 1987 and while it is no longer in print, the online version has been made available to willing users.

8. Learn Prolog Now!: This introductory course on Prolog has been available since 2001. It is also available in a book form for some time now.

9. The Little MongoDB Book: The book was written shortly after the creation of the MongoDB interactive tutorial. As such, the two can be seen as complementary.

10. The Little Redis Book: This one is written by the same authour as the book mentioned above, but it concerns itself with Reddis instead of MongoDB.

11. Objective-C 2.0 Essentials: The Objective-C 2.0 Essentials online book contains 34 chapters of detailed information intended to provide everything necessary to gain proficiency as an Objective-C programmer for both Mac OS X and iPhone development.

12. Parsing Techniques: This 320-page book treats parsing in its own right, in greater depth than is found in most computer science and linguistics books. It offers a clear, accessible, and thorough discussion of many different parsing techniques with their interrelations and applicabilities, including error recovery techniques. Unlike most books, it treats (almost) all parsing methods, not just the popular ones.

13. Smooth CoffeeScript: Smooth CoffeeScript is a book about CoffeeScript and programming. Start with programming fundamentals, learn about functional programming with Underscore and problem solving, study object orientation and modularity. It covers client/server web apps with Canvas and WebSockets.

14. Starting FORTH: This is a book on the programming language Forth. The book is suitable for both beginners and experts at the language.

15. Type Theory and Functional Programming: As the name suggests, the book is about constructive type theory and functional programming.

Author : Shivam Kotwalia, CodeKill

53 Cheatsheets For Programmers And Developers In Alphabetical Order!

Linux, C, C++, C#, Ubuntu, Debian, Fedora, .NET, Ruby, Rails, Groovy, Apache, HTTP, Apache Ant, AJAX, Apache Cassandra, ASCII, When working on an app or a code, you may often need some reference material. That is where cheatsheets become very useful. 

This list would what you would call a programmer’s or developer’s dream. Here we present to you an A-Z of cheatsheets that are relevant to programmers and developers. It doesn’t cover all languages or databases, but you’ll find most of what you need. If there’s anything missing, feel free to let us know so we can do better.
1. Asynchronous JavaScript And XML (AJAX): This is a group of interrelated web development techniques that are used to create asynchronous web applications on the client side.

2. Apache: If you’re using the Apache HTTP server then this cheat sheet is just what you would need in front of you.

3. Apache Ant: This java library and command line tool is used for automating software build processes.

4. Apache Cassandra: The open source distributed database management system is often the first pick when scalability is a concern.

5. American Standard Code for Information Interchange (ASCII): The most common character encoding scheme.

6. Berkeley DB: Oracle’s Berkeley DB is a fast and reliable option chosen by many developers.

7. Blueprint: This is a cheatsheet on the popular CSS framework/

8. C: In many ways it is the father of some of the most popular programming languages.

9. C#: A cheatsheet on C# never goes to waste. Most programmers learn the language and a cheatsheet always helps.

10. C++: One of the most useful programming languages ever. It is a must learn language for programmers.

11. Calculus and Analysis: Programmers and developers often need to have a good grasp on calculus and analysis in order to build certain types of apps.

12. Clojure: One of the most popular languages running on the Java Virtual Machine.

13. CSS: Cascading Style Sheets along with HTML is the language of the internet.

14. Debian: A cheatsheet on one of the most popular Linux-based distributions.

15. Django: Written in Python, this is an open source web application framework used by many.

16. DOM - Document Object Model: This is the convention used for interacting with objects in XHTML, XML and HTML.

17. Drupal: The open source content management system is highly popular amongst developers/

18. Eclipse: One of the most popular IDEs, used almost everywhere today.

19. Fedora: One of the big daddies from amongst the Linux-based distributions.

20. Firebug: The web development add-on for Mozilla’s Firefox has turned quite a few heads.

21. Git: It doesn’t matter whether you support open source or not, Git needs no introduction.

22. Groovy: This is another programming language that runs on the Java Virtual Machine.

23. Hadoop: Big Data is the future and hence, so is Hadoop.

24. Haskell: This is an open source functional programming language.

25. HTML: Use the Hypertext Markup Language to create your own website.

26. Java: The inescapable language for programmers and developers.

27. JavaScript: The scripting language for the web.

28. jQuery: A feature rich JavaScript library.

29. Linux: Command line tips that Linux users will find useful.

30. Mac OS X: This is a keyboard cheatsheets for Apple’s Mac OS X users.

31. Mathematica: The Wolfram Mathematica is considered to be a very powerful system.

32. MATLAB: This is a high-level technical computing language and interactive environment.

33. MySQL: Some have been losing fait over MySQL, but the database still goes strong.

34. NMAP: You hackers know what this is don’t you?

35. Node.js: This is the pick of the lot for building scalable web

36. Oracle: This is a reference cheat sheet for Oracle’s SQL.

37. Perl: The popular programming language is used in a variety of places.

38. PHP: Not much needs to be said about PHP.

39. PostgreSQL: This is often used as an alternative for MySQL.

40. Python: One of the most popular programming languages available today. It is used in everything from game programming to hacking.

41. Ruby: Another popular programming platform used by many across the globe.

42. Ruby on Rails: This is an open source framework that runs on Ruby.

43. Scala: This is an object-functional programming and scripting language running on the JVM.

44. Shell script

45. SQL - Structured Query Language: The programming language used to manage data stored in relational database systems.

46. SQLite: This is the relational database management system that is held in a C programming library.

47. Ubuntu: Linux for humans. It may be so, but a cheatsheet is still useful.

48. Unicode: This is the standard for encoding in the world of computers.

49. Unix: A cheatsheet for working on the Unix command line.

50. WordPress: The content management system has grown in popularity over time.

51. XHTML: This is an XML markup language. It stands for Extensible HTML.

52. XML: XML stands for Extensible Markup Language and is used by many.

53. .NET: This framework from Microsoft runs primarily on Windows and there is a debate about whether it is open source or not.


Author : Shivam Kotwalia, CodeKill

Monday, 10 February 2014

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

Sunday, 9 February 2014

C, C++ Or C# Programming Contests Around The World

You think you are the best programmer out there? Well here are some challenges!


So, are you a C,C++ or C# programmer who is looking forward to get some coding adventure and test your skills in some coding contests? You have landed on the right page. We bring to you, 10 C/C++/C# contests from around the globe! Have a look: programming, Programming contest, coding, programming competion, programming contests, coding contests, coding competitions, developers, coders, Job for developers,
Annual contests:

1. International Conference on Functional Programming (ICFP) This has been running for a decade and happens in June or July each year. Though it's based in Germany, anyone can enter using any programming language, from any location. It's free to enter and your team isn't limited by size.

2. The BME International: The BME International is an intense free to enter contest that takes place in Europe once a year for teams of three, and you have to bring your own computers and software. This year, the 7th edition took place in Budapest. This contest has had some interesting challenges in the past including driving a car over a virtual terrain? Other past tasks included controlling an oil-company, driving an assembly line robot and programming for secret communication. All programs were written in a 24-hour intense period!

3. International Collegiate Programming Contest: One of the longest running- this contest started in 1970 at Texas A&M and has been run by the ACM since 1989 and has IBM's involvement since 1997. One of the bigger contests, it has thousands of teams from universities and colleges competing locally, regionally and ultimately in the a world final. The contest pits teams of three university students against eight or more complex, real-world problems, with a gruelling five-hour deadline.

4. The Obfuscated C contest: The Obfuscated C contest has been running for nearly 20 years. This is done on the internet, with email submissions. All you have to do is write the most obscure or obfuscated Ansi C program in under 4096 characters length according to the rules. The 19th contest took place back in January/February 2007.

5. The Loebner Prize: The Loebner Prize is not a general programming contest but an AI challenge to enter a computer program that can do the Turing test, ie talk to a human sufficiently well to make the judges believe they are talking to a human. The Judge program, written in Perl will ask questions like "What time is it?", or "What is a hammer?" as well as comparisons and memory. The prize for the best entrant is $2,000 and a Gold Medal.

6. Chatterbox Challenge: It is similar to the Loebner Prize is the Chatterbox Challenge. This is to write the best chatter bot- a web based (or downloadable) application written in any language that can carry on text conversations. If it has an animated display that syncs with text then that is even better- you get more points!

7. International Problem Solving Contest (IPSC): This is more for fun, with teams of three entering via the web. There are 6 programming problems over a 5 hour period. Any programming language is allowed.

8. The Rad Race: Competitors in teams of two have to complete a working business program using any language over two days. This is another contest where you have to bring along equipment, including a router, computer(s), cables, a printer etc. The next one will be in Hasselt, Belgium in October 2007.

9. The Imagine Cup: Students at school or college compete by writing software applicable to the set theme which for 2008 is "Imagine a world where technology enables a sustainable environment." Entries started August 25th 2007.

10. ORTS Competition: ORTS (Open Real Time Strategy game) is a programming environment for studying real-time AI problems such as path-finding, dealing with imperfect information, scheduling, and planning in the domain of RTS games. These games are fast-paced and very popular. Using the ORTS software once every year there is a series of battles to see whose AI is best.

11. The International Obfuscated C Code Contest: Abbreviated IOCCC is a programming contest for the most creatively obfuscated C code. It started in 1984 and the 20th competition started in 2011. Entries are evaluated anonymously by a panel of judges. The judging process is documented in the competition guidelines and consists of elimination rounds. By tradition, no information is given about the total number of entries for each competition. Winning entries are awarded with a category, such as "Worst Abuse of the C preprocessor" or "Most Erratic Behavior", and then announced on the official IOCCC website. There's no prize except if your program is featured on the site then you won!

12. Google Code Jam: Running since 2008, it's open to anyone aged 13 or other, and you or a close relative don't work for Google or a subsidiary country and you don't live in a banned country: Quebec, Saudi Arabia, Cuba, Syria, Burma (Myanmar). (The contest is prohibited by law). There's a qualification round and three other rounds and the top 25 travel to a Google office for the Grand Final.

Ongoing contests:

13. Hutter Prize: If you can improve on the compression of 100 MB of Wikipedia data by 3% or better then you can win cash prizes. Currently the smallest compression is 15,949,688. For every 1% reduction (minimum 3%) you win €500.

14. Project Euler: This is an ongoing series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. computationally the problems should be solvable in less than a minute. A typical problem is "Find the first ten digits of the sum of one-hundred 50-digit numbers."

15. Sphere Online Judge. Run at Gdansk University of Technology in Poland, they have regular programming contests - with over 125 completed. Solutions are submitted to an automatic online judge that can deal with C, C++ and C# 1.0 and many other languages.

16. Intel's Threading Programming Problems: Running from September 2007 until the end of September 2008 Intel have their own Programming Challenge with 12 programming tasks, one per month that can be solved by threading. You get awarded points for solving a problem, coding elegance, code execution timing, use of the Intel Threading Building Blocks and bonus points for posting in their problem set discussion forum. Any language but C++ is probably the preferred language.

17. Codechef: Codechef is India's first, non-commercial, multi-platform online coding competition, with monthly contests in more than 35 different programming languages including C, C++ and C#. Winners of each contest get prizes, peer recognition and an invitation to compete at the CodeChef Cup, an annual live event.

Shivam Kotwalia, CodeKill

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)