Category Archives: Programming/Development

Programming and development stuff.

Open Source Projects Based on Java

Show us some work previously done with java..

This is a question asked by one of my students during the java lesson. There are lot of free and open source java projects that you can find according to your interests and knowledge. Here are some small but interesting Java open source projects I’ve found on Sourceforge, and you can browse many more left there.

Studying and contributing to open source projects is one of the best ways to improve your programming skills.

JIPT – Java Image Processing Toolkit
This is an Image Processing toolkit written in Java. The source code is intended to help you understand processes such as Color Inversion, Edge Detection, Fourier Transform, Morphological process, Laplacian Sharpening, Gaussian Noise Adding, and history.

Java-Chat
Multi-user chat which works with any operating system which supports java.

Lobo Evolution – Java Web Browser
Lobo Evolution is a fork of Lobo Browser. The project continuing the work of Lobo Browser(lobochief). Lobo Evolution is an extensible all-Java web browser and RIA platform. It supports HTML 4, Javascript (AJAX) and CSS 3 plus direct JavaFX and Java (Swing/AWT) rendering. Cobra is the web browser’s renderer API; also a Javascript-aware HTML parser.

Calcoo – Scientific calculator
Calcoo is a scientific calculator (with both RPN and algebraic modes) designed to provide maximum usability.

Java SID Player Music Library V2
This is a Commodore 64 emulator specialized for sound reproduction. It is also a SID player for music collections like HVSC and CGSC. It is a full C64 emulator and can play games of the GameBase64 project as well.

JConvert – Unit Conversion
JConvert is a free unit conversion program that has a friendly user interface and can also be used with external applications. Conversions can be modified and/or added easily. Supports multiple languages. Downloads and runs in seconds! Try it now.

Java LAN Messenger
A java based LAN messenger.

Java Open ChessĀ 
Java Open Chess is a project written in Java in NetBeans IDE. There is possibility to play for 2 players on local computers and via network connection. There is no option for now to play against computer. This functionality will be implemented soon.

Java YouTube Video Downloader
YTD2 is a free Java application for downloading youtube videos as flv/mp4 files. Should run on all platforms where Java is supported. GNU General Public License V3. Using hc.apache.org components. Based on the idea of “ytd” by rafalfr.

Java-Calculator
Scientific Calculator includes the following features: Traditional algebraic or RPN operation, Result history, Math Functions, Percentages, Binary / octal / hexadecimal conversion and Large input/output display.

Design Patterns – Elements of Reusable Object-Oriented Software

I still remember one day how I was questioned about design patterns at a job interview. I just knew what are design patterns and basic purpose of it. The interviewers asked me to explain one of the design patterns and I was unable to do that. “I know, I want to learn design patterns” my answer was.

Even though I was not selected for that job I decided to start learn about design patterns. I searched on internet for the tutorials and books written about design patterns. Here is one of the books I found.

Design Patterns - Elements of Reusable Object-Oriented Software

“Design Patterns – Elements of Reusable Object-Oriented Software” was the most recommended book on everywhere to learn about design patterns. Design patterns are the reusable solutions for some certain problems that programmers faced during the software development. It increases the maintainability and extensibility of the software solution. In this book, the Gang of Four (Erich Gamma, Ralph Johnson, John Vlissides, Richard Helm) describing 23 design patterns and how they can help you design object-oriented software.

Before start to read this book I think you should grasp the object oriented programming concepts and some of the UML notions well. Plus if you are familiar with one of object oriented languages then you can go ahead with this book. I have uploaded the pdf version of this book and you can download it from here. Clean and happy code!

Download: Design Patterns – Elements of Reusable Object-Oriented Software (PDF)