Recent Articles

Open Source .NET PDF Library »

PDF Clown Project is an open source implementation of the Portable Document Format (PDF) specification published by Adobe® Systems Inc., written as a class library in multiple languages (Java™ 1.5 and C# 2.0).

Java 1.5 version (PDF Jester) represents the reference implementation of PDF Clown Project.

C# 2.0 version (PDF Clown) was developed upon the Mono flavour of the .NET framework. Its primary target platform is GNU/Linux, but the great support of Mono allows it to run over multiple platforms (BSD and UNIX variants, including OS X and Solaris, and Microsoft® Windows®). As such code adheres to the related ECMA spec, it may also be run upon other .NET implementations, including MS’.

  • PDF generator: PDF Clown can create new PDF files
  • PDF reader: PDF Clown can access existing PDF files
  • PDF editor: PDF Clown can manipulate existing PDF files

Popularity: 2% [?]

Free Ebook: Mastering JXTA »

Free ebook on JXTA

Download link

Popularity: 3% [?]

Open Source Project Management Web Application »

Before this I used dotproject or MediaWiki for project control and management, nowadays I am using Redmine.

Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database.

  • Multiple projects support
  • Flexible role based access control
  • Flexible issue tracking system
  • Gantt chart and calendar
  • News, documents & files management
  • Feeds & email notifications
  • Per project wiki
  • Per project forums
  • Time tracking
  • Custom fields for issues, time-entries, projects and users
  • SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
  • Issue creation via email
  • Multiple LDAP authentication support
  • User self-registration support
  • Multilanguage support
  • Multiple databases support

Popularity: 2% [?]

PHP Accelerator »

eAccelerator is a free open-source PHP accelerator, optimizer, and dynamic content cache. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times.

eAccelerator was born in December 2004 as a fork of the Turck MMCache project.

eAccelerator stores compiled PHP scripts in shared memory and executes code directly from it. It creates locks only for a short time, while searching for a compiled PHP script in the cache, so one script can be executed simultaneously by several engines. Files that can’t fit in shared memory are cached on disk only.

Turck MMCache is a free open source PHP accelerator, optimizer, encoder and dynamic content cache for PHP. It increases performance of PHP scripts by caching them in compiled state, so that the overhead of compiling is almost completely eliminated. Also it uses some optimizations to speed up execution of PHP scripts. Turck MMCache typically reduces server load and increases the speed of your PHP code by 1-10 times.

Turck MMCache stores compiled PHP scripts in shared memory and execute code directly from it. It creates locks only for short time while search compiled PHP script in the cache, so one script can be executed simultaneously by several engines.

Popularity: 2% [?]

High Performance Web Server »

lighttpd is a secure, fast, compliant, and very flexible web-server that has been optimized for high-performance environments. It has a very low memory footprint compared to other webservers and takes care of cpu-load. Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting and many more) make lighttpd the perfect webserver-software for every server that suffers load problems.

lighttpd powers several popular Web 2.0 sites like YouTube, wikipedia and meebo. Its high speed io-infrastructure allows them to scale several times better with the same hardware than with alternative web-servers.

Popularity: 2% [?]

Web Application Security Project »

The Open Web Application Security Project (OWASP) is a worldwide free and open community focused on improving the security of application software.

An OWASP project is a collection of related tasks that have a defined roadmap and team members. OWASP project leaders are responsible for defining the vision, roadmap, and tasks for the project. The project leader also promotes the project and builds the team. Tools and documents are organized into the following categories:

  • PROTECT – These are tools and documents that can be used to guard against security-related design and implementation flaws.
  • DETECT – These are tools and documents that can be used to find security-related design and implementation flaws.
  • LIFE CYCLE – These are tools and documents that can be used to add security-related activities into the Software Development Life Cycle (SDLC).

See a list of OWASP projects here.

Popularity: 2% [?]

Mobile Browser Definition FIle »

The Mobile Browser Definition File contains definitions for individual mobile devices and browsers. At run time, ASP.NET uses the information in the request header to determine what type of device/browser has made the request.
This project provides a data file that when used with ASP.NET will detect the incoming mobile device and present you as the web developer with a set of 67 capabilities or properties describing the requesting device. These capabilities range from screen size to cookie support and provide all the information you need to adaptively render content for mobile phones and devices.

The Mobile Device Browser Definition File contains capability definitions for individual mobile devices and browsers. At run time, ASP.NET uses this .browser file, along with the information in the HTTP request header, to determine what type of device/browser has made the request and what the capabilities of that device are. This information is exposed to the developer through the Request.Browser property and allows them to tailor the presentation of their web page to suit the capabilities of the target device.

The format of the .browser file is XML and the schema is defined here: Browser Definition File Schema. The Browser Definition File was introduced in the .NET Framework version 2.0. In earlier versions of the .NET Framework, the browserCaps element was used to define browser definitions in configuration files.

Popularity: 2% [?]

Microsoft Web App Gallery »

Now you can use Microsoft Web Platform Installer to install various open source software from the Web App Gallery.

Popularity: 2% [?]

Unix: Find Files Older Than X Hours »

Here is a simple script to find files older than X hours

# time in seconds. E.g 7200 = 2 hours
# directory to search
# touch file
STAMP=$(perl -e '($ss, $mm, $hh, $DD, $MM, $YY) = localtime(time() - $TIME_SECONDS);
printf "%04d%02d%02d%02d%02d", $YY + 1900, $MM + 1, $DD, $hh, $mm')
touch -t $STAMP $TMP_FILE
#----find older files
find  $DIR -type f ! -newer $TMP_FILE -print |\
while read FILE
  # list out the file only now. Do what you want here
  ll $FILE

Alternatively, you can use the GNU findutils which allows searching by hour

Popularity: 2% [?]

iBatis: SQLNestedException:Cannot get a connection, pool error Timeout waiting for idle object »

When this happened, and you are sure that the connection pool is actually enough to handle all the transactions, then most probably that there is a connection leakage lying within your application. E.g. the connection is not closed properly.

One example in iBATIS is that you start a transaction, but does not end it.

// other codes here
// No endTransaction?

Popularity: 2% [?]

Open Street Map »

OpenStreetMap is a free editable map of the whole world. It is made by people like you.

OpenStreetMap allows you to view, edit and use geographical data in a collaborative way from anywhere on Earth.


Popularity: 2% [?]

Windows: Automated Crash Analysis and Security Risk Assessment »

!exploitable (pronounced “bang exploitable”) is a Windows debugging extension (Windbg) that provides automated crash analysis and security risk assessment.

The tool first creates hashes to determine the uniqueness of a crash and then assigns an exploitability rating to the crash: Exploitable, Probably Exploitable, Probably Not Exploitable, or Unknown. There is more detailed information about the tool in the following .pptx file or at

This tool was created by the Microsoft Security Engineering Center (MSEC) Security Science Team. For more information on MSEC and the Security Science team, please visit To see what’s being worked on presently, visit the Security Research and Development blog at

Popularity: 2% [?]

Open Source Web Based Code Editor »

ecoder is an open-source web-based code editor, with real-time colour syntax highlighting, which allows multiple documents to be edited directly online at the same time.

ecoder is a simple, web-based code editor, which includes a file browser, file uploader, and tabbed system to allow multiple files to be edited at the same time. using this web-application developers can edit code directly online, real-time syntax highlighting is handled by textarea and keyboard short-cuts lend it the feel of a locally installed application.

Popularity: 2% [?]

Oracle: Maximum Cursor Exceeded Problem »

Here are some useful SQLs to help resolve maximum cursor exceeded problem.

The SQLs are from

Monitor Open Cursor

--total cursors open, by session
select a.value, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#  and s.sid=a.sid
and = 'opened cursors current';

Monitor By User Name and Machine

--total cursors open, by username & machine
select sum(a.value) total_cur, avg(a.value) avg_cur, max(a.value) max_cur, 
s.username, s.machine
from v$sesstat a, v$statname b, v$session s 
where a.statistic# = b.statistic#  and s.sid=a.sid
and = 'opened cursors current' 
group by s.username, s.machine
order by 1 desc;

Check Max Open Cursor

select max(a.value) as highest_open_cur, p.value as max_open_cur
from v$sesstat a, v$statname b, v$parameter p
where a.statistic# = b.statistic# 
and = 'opened cursors current'
and 'open_cursors'
group by p.value;

Session Cached Cursor

--session cached cursors, by session
select a.value, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#  and s.sid=a.sid
and = 'session cursor cache count' ;

See Session Cursor SQL

select c.user_name, c.sid, sql.sql_text
from v$open_cursor c, v$sql sql
where c.sql_id=sql.sql_id  -- for 9i and earlier use: c.address=sql.address
and c.sid=&sid

Tuning Session Cached Cursor

select cach.value cache_hits, prs.value all_parses, 
prs.value-cach.value sess_cur_cache_not_used
from v$sesstat cach, v$sesstat prs, v$statname nm1, v$statname nm2
where cach.statistic# = nm1.statistic#  
and = 'session cursor cache hits' 
and prs.statistic#=nm2.statistic#
and 'parse count (total)'
and cach.sid= &sid and prs.sid= cach.sid ;
--session cached cursors, for a given SID, compared to max
select a.value curr_cached, p.value max_cached, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s, v$parameter2 p
where a.statistic# = b.statistic#  and s.sid=a.sid and a.sid=&sid
and = 'session cursor cache count' ;

Bear in mind that if in your Java application you are using dynamic SQL, and you pools prepared statements, you may encounter this issue.

Popularity: 3% [?]

Open Source Tool for Mobile Phone »

gnokii provides tools and a user space driver for use with mobile phones under various operating systems.


gnokii allows you to communicate with the phone over the serial cable connection, usb connection (support depends mostly on the operating system level support), infrared connection and bluetooth connection.

gnokii provides many functionality of different areas for user to manipulate mobile phone.

You can send SMS, receive them and save them in the phone. gnokii supports delivery reports, picture messages (Nokia own protocol), concatenated messages, wap pushes, unicode messsages. gnokii allows you to send and receive logos and ringtones over SMS.

gnokii offers you possibility to read and write phonebook. Phonebook entries can be displayed in human readable form or can be exported to comma separated output, vCard version 3.0 format or ldif format. You can import data from the same formats. Please note, that supported phonebook entries depend on the phone features and therefore may not be all imported.

gnokii supports either calendar or todo lists. gnokii is capable to export calendar to iCal files and import them from the same format. Most calendar features like different types of events, recurrence, start and end times are supported.

You can initiate and answer calls with gnokii.

Among other gnokii capabilities you’ll find security options like entering PIN, ringtone and logo handling and many many other.

Popularity: 2% [?]

Free VOIP Software »

Here are some alternatives to Skype


Gizmo5 is is a Free Phone For Your Computer that makes calling as easy as instant messaging



JAJAH is free and low-cost global calling with your regular phone. There is no headset, no download, no software and no broadband connection needed. You are using your existing phone (landline or mobile) and so is the person you are calling. You simply provide your own number and the number you want to call and JAJAH will connect your call between two regular phones anywhere in the world – no monthly fee, no registration fee.



PhonerLite is a clearly arranged application for Windows. PhonerLite enables your PC to use it for internet telephony (VoIP , Voice over IP ). Pre-conditions are a full-duplex sound card , a microphone andspeakers (alternativelya headset), an  internet connection and a registration at a provider supporting the protocol SIP .PhonerLite supports several SIP profiles, each configurable independently. In thesame way the integrated phone book and call log are easy to use.



If you are already a VoIP or Broadband service subscriber (i.e. you receive VoIP service from your local Service Provider or local IP-PBX), X-Lite lets you make audio calls to any softphone, mobile or landline number, and make video calls and send IMs to any softphone which supports these functions.



Raketu is where COMMUNICATIONS meets media and people networks in one application. You can make 8 different types of callsfree or the cheapest calls anywhere. Raketu services are available from Raketu program or directly from Raketu’s website RakWeb-no downloads. The Raketu program and RakWeb are fully synchronized. Access Raketu via:any Mobile, Desktop, Download, Web site, widgets, SMS-Texting, SIP device, Roaming data, Dialup, WiFi or Broadband.

Popularity: 2% [?]

Glade – a User Interface Designer for GTK+ and GNOME »

Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment, released under the GNU GPL License.

The user interfaces designed in Glade are saved as XML, and by using the libglade library these can be loaded by applications dynamically as needed.

By using libglade, Glade XML files can be used in numerous programming languages including C, C++, Java, Perl, Python, C#, Pike, Ruby, Haskell, Objective Caml and Scheme. Adding support for other languages is easy too.


Popularity: 2% [?]

C/C++ IDE on Linux »

Anjuta is a versatile Integrated Development Environment (IDE) for C and C++ on GNU/Linux. It has been written for GTK/GNOME and features a number of advanced programming facilities including project management, application wizards, an interactive debugger and a powerful source editor with source browsing and syntax highlighting.

Anjuta is an effort to marry the flexibility and power of text-based command-line tools with the ease of use of the GNOME graphical user interface. That is why it has been made as user-friendly as possible.

Anjuta is written using a mixture of C and C++. You will require the standard GNU tool chain and current stable GNOME libraries to build and work with the Anjuta sources. New code should be in C as long as it does not touch the scintilla editing component. C++ code is only allowed in the editor or if you need a library which is only availible in C++.

Popularity: 2% [?]

GWT Additional Components »

Here are some open source libraries to add additional components to GWT.

Advanced GWT Components

Advanced GWT Components is an extension of the standard Google Web Toolkit library. It allows making rich web interfaces extremely quickly even if you’re not skilled in DHTML and JavaScript programming. Currently the library supports such popular browsers like Internet Explorer, Firefox, Safary, Opera and Chrome.



SmartGWT is another extension to GWT.


Popularity: 2% [?]

Open source Microblogging »

JaikuEngine is a social microblogging platform that runs on AppEngine. JaikuEngine powers

Popularity: 1% [?]