Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Tuesday, 11 June 2013

Information Retrieval: Notes

  Recently I prepared some short notes on the subject Information Retrieval. They do not discuss the subject in detail. The notes are useful if you are interested in just a brief introduction. 



Monday, 10 June 2013

Try CodingBat !

  Recently I came across a Programming Web Site Called CodingBat. They provide practice problems on Java and Python. It is a very good site to practice programming if you are a beginner in Java or Python. 

 Click here to view CodingBat.

Tuesday, 30 April 2013

Stack Overflow

  Three months ago I have joined Stack Overflow. Now I am very passionate about it. SO is one of the best Computer Science forums I have ever seen. If you are serious about Computer Science then I believe it is a must for you to have membership in Stack Overflow. Membership is free and easy. 



A Humble Beginning


I have proposed a Site for Q & A on Special Education. But in order to set up this site a lot of followers are required. I truly believe that such a Q & A forum will help a lot of children with special needs. If you are interested please follow this proposal. It will be a great help. 

Here is the Link to the proposed Special Education Q & A Site.

Please Click the image below to follow the Proposed Site.
  
Stack Exchange Q&A site proposal: Special EducationEducation


Wednesday, 26 December 2012

Computer Science Tools: PART - 2


  Here I have given links to a few more useful tools for Computer Science enthusiasts. Most of them are Open Source Software, the rest are Freeware. 

  • Eclipse - Eclipse is an IDE for Java. It is one of the best available for Java development. Click here to download Eclipse.
  • MySQL - MySQL is one of the best Open Source relational database management system (RDBMS) available free of cost. Click here to download MySQL.
  • WampServer - WampServer (Apache, PHP, MySQL on Windows) is a Windows web development  environment. Click here to download WampServer.
  • Python - Python is a general-purpose high-level programming language. Click here to download the Python Interpreter. 
  • VirtualBox - If you want to run Linux over your Windows based system the best tool available is   Oracle VM VirtualBox. Running an Operating System using VirtualBox is entirely different from running the same OS using a Live CD. Click here to download Oracle VM VirtualBox. 
  • 7-ZIP - 7-ZIP is an Open Source file archiver. It can read and write almost all the archive formats and far far better than WinZip. Click here to download 7-ZIP.  

Computer Science Tools: PART - 1


  What ever is the career of an individual, a good professional is in need of the right tools to excel in his work. So what are the tools required by a Computer Science professional? Well, we need good Hardware and Software as tools to perform our duty in earnest. Obtaining costly hardware may not be a viable option to many. But the case of obtaining good software is different, it is often very cheap and some times free. But there is a lack of knowledge regarding good technical tools in Computer Science. Here in this post I have given links to a few useful Computing tools which are useful to both students and practitioners of Computer Science. Most of the tools I suggest are Open Source Software and the rest are Freeware. If you know any better alternatives, please suggest them.
  • Code::Blocks - This is the best I come across in 2012. It is an IDE for C/C++. It can be used on both Linux and Windows. This is especially useful for students working on Windows OS. The usual Turbo C++ IDE by Borland is a bore and will not work on Windows 7 and Windows 8. The last updated version of Turbo C++ was released on 1994. So it is high time to adopt a tool like Code::Blocks. If you are using Code::Blocks on Windows please install MinGW and set the path in Code::Blocks. Click here to download Code::Blocks. 
  • MinGW - MinGW (Minimalist GNU for Windows) is a gcc like compiler for C/C++ in Windows. If you are running Code::Blocks in Windows OS first you need to install MinGW in your system. Click here to download MinGW.    
  • Scilab -  Scilab is an open source tool for numerical computation. It is a free software alternative of MATLAB. If you are good with MATLAB, it will be very easy to shift to Scilab. Click here to download Scilab.
  • MikTex - Miktex is an excellent implementation of TeX/LaTeX and related programs for Windows. Miktex is available for all versions of Windows. Click here to download Miktex. 
  • Texmaker - Texmaker is a free cross platform Latex editor. Before installing Texmaker you should install Miktex in your system. Click here to download Texmaker.
  • TrueCrypt - If you want to hide some sensitive data in your system TrueCrypt is the best. It is a free open source disk encryption software for Windows, Linux and MacOS. Click here to download TrueCrypt.

C/C++ Puzzles: PART - 10


  Project Euler
   If you are interested in solving difficult problems in Computer Science, then please visit Project Euler. They offer problems whose solution requires both programming skills and mathematical knowledge. Some of the problems only need to use existing algorithms. But many often the complexity of the problem arises from the sheer magnitude of the numbers involved. To give you a flavor of the problems involved, I am reproducing a problem from Project Euler.


The problem can be solved in many different ways. I went for the easiest and least efficient technique. The brute force approach. I wrote a C program and it took 30 minutes to solve the problem in my computer.

Figure Below Shows the Output

Click here to download the C Program to solve the Highly Divisible Triangular Number problem.

Once you solve a particular problem the Project Euler Team is kind enough to provide you with algorithms to solve the problem. Here is one of the algorithms they offered to solve the problem of highly divisible triangular number.

 

Friday, 9 November 2012

Why we must support Distributed Computing Projects?

 

When I had a chat with some of my friends recently, I had a shocking revelation. Not many of us are familiar with distributed computing projects. What is a distributed computing project and why we must support them?
 
Well a distributed computing project tries to solve a big problem by dividing it into a number of small sub problems and then by solving and combining the sub problem we will get a solution for the first problem. Some of the problems can be easily divided into sub problems for solution. Consider the problem of finding the factors of a very large number. The problem can be solved using a large number of computers by assigning each computer with a range of values to check whether it can be a factor of the given large number.

Some of the practical problems need a very large amount of computing power. So one solution is to divide the problem into a large set of sub problems each of which can be solved by personal computers or laptops without much power. There are hundreds of distributed computing projects in need of our computing resources which are freely available and often under utilized. All we need to do is go to a particular projects home page and download the program. Most of the programs are very small in size. They will run automatically in your computer and once in a while they will communicate with the server to send back the results and get new assignments.There are no hidden viruses or trojans and with a single click you can uninstall the programs.

The two projects I run on my computer are The Great Internet Mersenne Prime Search (GIMPS) and Folding@home (FAH or F@h).

GIMPS tries to identify large Mersenne prime. A clear understanding of Mersenne primes will help us develop better cryptographic algorithms.

The Links to the wikipedia article on GIMPS and GIMPS Home page are given below.

Wikipedia Article on GIMPS
GIMPS Home Page


FAH is a project for disease research that simulates protein folding. The results are very useful in cancer treatment. The idle CPU in your computer can be used as an effective tool to fight cancer.


The Links to the wikipedia article on FAH and FAH Home page are given below.

Wikipedia Article on FAH
Home Page of FAH


There are other interesting distributed computing projects also. The Link to the wikipedia article is given below.

Wikipedia article on Distributed computing Projects   

If you have any suggestions or corrections please post a comment.