Wednesday, May 14, 2014

Good Books on Software Development

Documenting Software Architectures by Paul Clements, Felix Bachmann, Len Bass, David Garlan

Computer Fundamentals by Sean Walton 1997

Computer Organization and Architecture by William Stallings 2000

Agile Principles, Patterns and Practices in C#

Algorithms - S Dasgupta, C. H. Papadimitriou, and U.V. Vazirani

Introduction to Algorithms - 3rd Edition, Thomas Cormen, Charles Leiserson, Ronald Rivest, Clifford Stein

Programming Embedded Systems in C and C++  Michael Barr

UML Distilled Third Edition Martin Fowler

Expert C Programming Deep C Secrets  by Peter Van Der Linden

Operating System Concepts - Seventh Edition  Siberschatz, Galvin, Gagne

Programming from the Ground Up by Jonathan Bartlett

Technical Aptitude Questions by Vyom Network  vyomworld.com



Programming:
1. Let Us C - Yashvant Kanitkar (Basic Level)
2. C book by Herbert Schild (Medium level)
3. C book by Kernighan – Ritchie (Advanced Level)
4. Programming Pearls by Jon Bentley
5. Introduction to Algorithms - by Thomas H. Cormen, Charles E. Leiserson , Ronald L. Rivest , Clifford Stein
6. Data structure and Algorithms by Aho, Ulman and Hopcroft
7. Yashawant Kanetkar’s “Test Your C Skills” and “ Test Your C++ Skills “ are good for skill tests J
a. More such books can be found at:  http://www.pdfgeni.com/ref/test-your-C-skills-pdf.html
8. C++ Primer by Lippman
9. C++ is Robert Lafore (Basic & Medium level are covered here)
10. The C++ programming language - Bjarne stroustrup –Basic/Medium
11. Effective C++ - Scott Meyers - Advanced
12. More Effective C++ - Scott Meyers –Advanced
13. Programming embedded systems in C and C++ - Michael Barr – Basic
14. C++ complete reference (Not sure if it is still available at this link)
a. http://www.cse.iitb.ac.in/~rohitvanshi/eBooks/C++%20Complete%20Reference%203rd%20Ed%20-%20Schildt.pdf
15. Writing Solid Code

OS:
1. Operating System Concepts by Galvin (http://www.os-book.com/)

Embedded:
1. Fundamentals of Embedded Software - Where C and Assembly meet
a. Author : Daniel W. Lewis, Level : Basic
2. http://books.google.com/books?id=tgLm2g8KnH0C&pg=PP1&dq=Raj+Kamal#PPP1,M1
a. Medium level information about Embedded System and it covers brief about lot of topics
3. http://www.amazon.com/Programming-Embedded-Systems-Development-Tools/dp/0596009836/ref=pd_sim_b_1
a. Basic: Programming Embedded Systems: With C and GNU Development Tools, Author: Michael Barr, O’Reilly
4. http://www.amazon.com/Embedded-Software-Primer-David-Simon/dp/020161569X/ref=sr_1_1?ie=UTF8&s=books&qid=1241762536&sr=1-1
a. Medium: An Embedded Software Primer, Author: David E. Simon, Addison-Wesley Professional
5. http://www.amazon.com/Real-Time-Concepts-Embedded-Systems-Qing/dp/1578201241/ref=pd_sim_b_3
a. Advanced: Real-Time Concepts for Embedded Systems, Author: Qing Li, CMP Books
6. Embedded Systems - Architecture, Programming and Design, Author: Prof. (Dr.) Raj Kamal, McGraw-Hill

Analysis & Design:
1. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma Richard Helm Ralph Johnson John M. Vlissides (e-book available - illegal copy)
2. Applying UML and patterns in OOAD – Larman -Advanced
3. Object oriented analysis and design – 3rd edition – Grady booch –Medium
4. UML Distilled 3rd edition by Martin flower
5. Refactoring – Improving the design of existing code - Martin Fowler, Kent Beck, John Brant
6. Coder to Developer - Mike Gunderloy
7. How to design programs - Matthias Felleisen, Robert Bruce Findler

Friday, May 09, 2014

Java Books

Think Java
How to Think Like a Computer Scientist
Allen B. Downey

Thinking in Java - Fourth Edition
Bruce Eckel

Effective Java - Second Edition
Joshua Bloch


JAVA Tutorial
Simply Easy Learning by Tutorialspoint.com

The Complete Reference
Java Fifth Edition
Herbert Schildt

Java Tutorials by Oracle

THE Java Programming Language, 4th Edition
Ken Arnold, James Gosling, David Holmes

Sun Certified Enterprise Architect for Java EE Study Guide
Paul R. Allen
Joseph J. Bambara

Sun Certified Programmer for Java 6 Study Guide
Kathy Sierra
Bert Bates

Sun Certified Programmer for Java Platform, SE6
Richard F. Raposa

Cool Books

Making Things See - Learn by Discovery
Greg Borenstein
Make: makezine.com

Making Things Talks - Learn by Discovery
Tom Igoe
Make: Makezine.com

Design Patterns - Books

Design Patterns

1. Agile Principles, Patterns, and Practices in C#
Robert C Martin and Micah Martin


2. Design Patterns in Java Tutorial
Simply Easy Learning by Tutorialspoint.com

3. Design Patterns for Dummies
Steve Holzner, PhD


4. Examples to Accompany Design Patterns
Elements of Reusable Object-Oriented Software

Thursday, May 08, 2014

Data Structures Books

Data Structures Resources

1. Prof. Nikhil Gupta, IIT Delhi - Videos on NPTEL

2. Data Structures and Algorithms in Java
Michael T Goodrich
Roberto Tamassia


3. A Practical Introduction to Data Structures and Algorithm Analysis
Third Edition
Clifford Shaffer, Virgina Tech

4. Algorithmic Puzzles
Anany Levitin and Maria Levitin

5. Prof Narahari Data Structures Book

6. Cormen - Introduction to Algorithms

Introduction to Computing - Explorations in Language, logic and Machines

David has taught a course on Udacity and he has written an excellent book as well...

Introduction to Computing - Explorations in Language, logic and Machines

Thursday, November 15, 2007

The C Programming Language (2nd Edition): Books: Brian W. Kernighan,Dennis M. Ritchie

One of the classics of C programming:

Amazon.com: The C Programming Language (2nd Edition): Books: Brian W. Kernighan,Dennis M. Ritchie

Head First Object-Oriented Analysis and Design

Do you want to understand the principles of OOPS? Head First books teach you concepts with real world examples and lot of pictures.
oreilly.com -- Online Catalog: Head First Object-Oriented Analysis and Design

Head First Design Patterns

One of the nice books on design patterns. Lot of figures, nice examples from daily life
Head First Design Patterns

Friday, November 10, 2006

Moving MySQL database Example

Moving MySQL database

Question is how you move database from one computer to another?
There are various softwares available to do this e.g. MySQLFront, NaviCat etc. but they are only 30 days trial version.

Best way to do this is "mysqldump" utility provided by MySQL which requires you to type 2 lines of code. 1 line to retreive the data into sql file and another line to import the data into a new database where you want to move the data.

Following are steps in detail:
1) Go to bin directory of mysql using command prompt
2) enter following command
mysqldump -u Username -p Password DatabaseName > Filename.sql

This command will dump the data from "DatabaseName" to a file called "Filename.sql" . You can find this file inside "data" directory under mysql directory.

3) Create new database e.g. "NewDBName" whereever you want to migrate the database

4) To import the data from .sql file type following line on command prompt

mysql -u Username -p Password NewDBName < Filename.sql

Here is an example, How I transfer "NID" database to file "nid.sql" and from file "nid.sql" to a database called "nidcopy.sql"



You can also find a good tutorial online here.
http://www.theprojects.org/tutorials/mysqldump.php

Thursday, June 22, 2006

Jade : An excellent infrastructure to develop agents

If you are looking for an agent infrastructure to implement your agent architecture then consider Jade. Look at the white paper on Jade for details.

Mobile agents

A good paper on mobile agents:

J. Waldo, "Mobile code, distributed computing, and agents," proceedings of IEEE Intelligent Systems, March/April 2001.

Wednesday, May 24, 2006

mym:- MATLAB and MySQL

Few days back, I was looking for a function to write blobs in MySQL from MATLAB. I found Yannick's mYm. It is a good tool. I was able to install smoothly. By the way, you donot need to do any compilation if you are running MATLAB on Windows machine. You just need binaries. Yannick was kind enough to reply my questions. I recommend using mYm. Thanks Yannick !