<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Ozgur Akan&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/" />
<modified>2008-01-02T17:42:16Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/aiqa/172</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2005, aiqa</copyright>
<entry>
<title>GUI Design and SWT</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2005/05/gui_design_and.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-05-20T06:46:11Z</issued>
<id>tag:weblogs.java.net,2005:/blog/aiqa/172.2468</id>
<created>2005-05-20T06:46:11Z</created>
<summary type="text/plain">For  some time, I have been  working on the GUI of a software that will be used internally at the company I work for. I faced some problems which are mostly related with internals of GUI design, not what is seen on the screen but how to organize the code to make it easy to understand, write bugfixes and make improvements on the software that is deeply connected with the GUI.</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[<p>For  some time, I have been  working on the GUI of a software that will be used internally at the company I work for. I faced some problems which are mostly related with internals of GUI design, not what is seen on the screen but how to organize the code to make it easy to understand, write bugfixes and make improvements on the software that is deeply connected with the GUI.</p>

<p>Some of the subjects I will discuss here are related with swt and some are the hints that made my life easier as a programmer. I learned them by making  mistakes and spending too much time on thinking the answer of the question "am I doing right ?". Later I recognized that I can not find the right solution by thinking. I must apply  what seems to be the best solution as soon as possible to see if I get the results I wish to derive from that solution. </p>

<p>You may have different experiences and better solutions to the problems that I will write here. If so please share them with me.</p>

<p><b>Swing vs SWT Debate</b><br />
I get bored of reading which one is better. People who have spent years with swing supports it fanatically. I can understand this. I have not used swing much enough to be a fan of it. I have started to work on SWT a few months ago, and for about a week or so I am more focused on it because I write the GUI of the software. I can not compare Swing and SWT according to my experiences but can write about SWT.</p>

<p>I mostly used Combo and Tree as the main widgets. (Widget is the general name of a GUI component is SWT). With Delphi I have always created an array with a Combo to store more values than the simple text of what a user sees when he expends the combo. Swt Combo can store an object. This is excellent. If it hadn`t I could create my custom widget which will be a compound of a Combo and an ArrayList. Because SWT uses native calls to operating  system you can not easily write a class which extends Combo class but create a composite and add your components onto it (actually if you don`t mind your byte code not to be platform specific you can do by implementing a method which checks if the class has been extended) . This gives you the freedom that you used to get with Swing altough swing is more flexible.</p>

<p>SWT development will not seem to slow down because it is the primary component of Eclipse IDE which is widely used. When you code for a company this becomes the primary requisite.</p>

<p>SWT is easy to learn. <a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/reference/api/overview-summary.html" target=_blank>Online</a> API reference is hard to find but easy to understand. FormLayout is exteremly useful and once learned  you can add new widgets without modifying your source code very much.  </p>

<p>SWT commuity is  getting crowded. Not crowded !</p>

<p><b>SQL Queries</b><br />
Querying a table and showing the results to user view is a headache. You have to write lots of fields` name correctly, pass them to a method, create an sql string which can never be written correctly at the first try. Then read a huge resultSet. I don`t like database driven interfaces. I used to use an array of field names and use it in a loop to get as much as I can with writing as little code as possible. With Java 1.5 I started to use <b>variable length arguments</b> which   is a revolution as generics are. I pass table name, where and order clauses as the first three string parameters then a String... fields argument which holds field names for a select or field names and values for a insert/update statement. This approach saved lots of time and make the code clear.</p>

<p><b>Creating Widgets</b><br />
I wrote a class named EasyForm (extended from Composite) which makes creating widgets easy. Every swt driven class extends EasyForm. In EasyForm, there ara methods to create basic components which does not contain bussiness logic, I mean interaction with other classes except DBConnection class. DBConnection class provides permenant database connection and some helper methods for the primary classes.  I like to store database methods together to keep other classes simpler and take the advantage of reusable database methods.</p>

<p><b>SWT Tree</b><br />
Swt Tree is easy to use, it holds TreeItems. Every TreeItem has a text value and an object. This object makes Tree a meaningful component because holding a dummy text (text is dummy for the programmer, sure user`s only meaningful data piece it that text) means string comparisions, database queries for related data with that text. When I learned that I can hold an object, I created a class named TreeItemData which holds a text field and index fields of the db table that Tree is derived. I created TreeItemData ArrayList using <b>generics</b> (new with Java 1.5). (ArrayList< TreeItemData > childItems = new ArrayList< TreeItemData >();)</p>

<p>Imagine a layout that at the left side of the screen there is a Tree and at the right there are Combo and Text fields which show the detailed information about the record choosen from the Tree. I can also store database values of the fields in the TreeItemData object to reduce the number of database queries.</p>

<p><b>SWT Combo</b><br />
Combo widget, like TreeItem, can hold an object. (Actually this property is inherited from Widget). I created a class  which holds a text and a key field pair, and named it ComboData. Text is shown in the drop down menu. When an item is selected I read corrosponding key value from the ArrayList of ComboData.</p>

<p><b>Don`t Create Objects</b><br />
For performance issues use same object several times. Because creating an object means allocating new heap memory it takes more time then using preallocated heap area. If you have some "choose city" combo in several user interfaces then create one in the main object and pass it`s refrence whenever needed. </p>

<p>For example I used "choose city" combo (which queries city table from database) in 6 different composites .Besides memory consumption it also took too much time for my program to initialize because every instance queries the database. Using one city combo saved me. Someone should say "Oh man, Java is slow" ;)</p>

<p>I guess there shall be some better methods for the ones I wrote here. A GUI driven software is a bit boring to write because you put one control here one there and try to guess "dummy" user responses. They find some properties hard to use then you change the way they seem or behave after decades of the first implementation of that property. Programming becames a social event where your GUI talks and your language must be clear.</p>

<p>My homepage is www.projectme.org</p>]]>

</content>
</entry>
<entry>
<title>JVM Memory Usage</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2005/04/jvm_memory_usag.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-04-29T06:29:49Z</issued>
<id>tag:weblogs.java.net,2005:/blog/aiqa/172.2372</id>
<created>2005-04-29T06:29:49Z</created>
<summary type="text/plain">When JVM spends %98 of it`s time to garbage collections and can not free more then %2 of the memory then an &quot;Out of Memory&quot; exception is thrown.</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Virtual Machine</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[When JVM spends %98 of it`s time to garbage collections and can not free more then %2 of the memory then an "Out of Memory" exception is thrown. Heap size (the memory space where the progam lives) is calculated according to physical memory.  The initial heap size will be set to phys_mem / DefaultInitialRAMFraction. DefaultInitialRAMFraction is a command line option with a default value of 64. Similarly the maximum heap size will be set to phys_mem / DefaultMaxRAM. DefaultMaxRAMFraction has a default value of 4.
<br><br>
With my test machine 64 mb heap memory is not enough to hold as much images as I would like to. I increased memory size with this command line option;
<br><br>
-Xms64m -Xmx256m
<br><br>
This sets the initial and maximum  size to 64mb and 256mb. The m suffix can be changed with g to represent gigabyte. You can find java 1.5 command line options <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/linux/java.html" target=_blank>here</a>. 
<br><br>
Although I set initial memory size to 64 mb, JVM doesn`t allocate 64 mb. When JVM starts it`s memory usage is increased slowly to 12 mb and then garbage collected to 1,5 mb and cycled. When I set initial memory to 4 mb it increased to 2 mb at startup then decreased to ~700 kb and cycled in a longer time period. If you are not sure that your application will use too much memory do not give a big initial memory value, JVM tries to increase memory size for nothing because gc cleans it.
<br><br>
Note: The Java object heap has to be allocated in contiguous virtual addresses, for implementation reasons. In 32 bit operating systems only 2gb memory can be addressed as contiguous. 
<br><br>
My personel blog is located at www.projectme.org.]]>

</content>
</entry>
<entry>
<title>Why I choose SWT against Swing</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2004/11/why_i_choose_sw.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-11-19T08:01:46Z</issued>
<id>tag:weblogs.java.net,2004:/blog/aiqa/172.1746</id>
<created>2004-11-19T08:01:46Z</created>
<summary type="text/plain">For the Jeopardy project, I have been searching for the right toolkit. Swing is a well known, already tested option while SWT stands there as a sparkling, brand new toolkit, which has been the building blocks of Eclipse. I always knew that it would be a hard choice.</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Community: JavaDesktop</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[For the Jeopardy project, I have been searching for the right toolkit. Swing is a well known, already tested option while SWT stands there as a sparkling, brand new toolkit, which has been the building blocks of Eclipse. I always knew that it would be a hard choice.
<br><br>
SWT, Standart Widget Tooklit is developed for Eclipse platform. The SWT component is designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. As it may be understood form this sentence SWT uses native libraries to drow its widgets to the screen. In every platform that your software will work, there must be these libraries already provided. There is no problem for Linux, MacOs and Windows operating systems at the moment.
<br><br>
SWT is faster than Swing because it uses native request. 
You have to include 1.5 mb of library with your application if the targeted platform does not have these.
Your application will seem as an application written in c. There will be no visual differences.
You can also develop applications for PDA`s. (Does not make any sense for Jeopardy?)
<br><br>
On the other hand Swing has been used for years. With Java 5.0 there are new properties added to swing. There is already a crowded community who works on/with swing.
<br><br>
I searched google for "java swt" keywords and found 287.000 entries. For "java swing" I found 2.850.000 entries.
<br><br>
I searched for the books at amazon.com for swt and swing. The results were the same as google. Lots of books for swing, a few books for swt. As you may understand this is just because SWT is newer than swing. These results show that there is  less documentation for SWT.
<br><br>
One advantage of SWT is, it is used in Eclipse workbench and has an active community. There are lots of plugins added to Eclipse and new improvements are made every single day.
<br><br>
With the documentation I found for SWT I could easily create a form with standard components. It seems that SWT is easy to learn. Below you can find visual components comparision.
<br><br>
<b>Table 1: Comparing visual components</b>
<table>
</tr><tr bgcolor="#ffff99" valign="top">
<td><b>Component</b></td>
<td><b>SWT</b></td>

<td><b>Swing</b></td>
<td><b>AWT</b></td></tr>

<tr valign="top"><td>Button</td>
<td align="center">X</td>
<td align="center">X</td>
<td align="center">X</td></tr>

<tr valign="top"><td>Advanced Button</td>
<td align="center">X</td>

<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Label</td>
<td align="center">X</td>
<td align="center">X</td>
<td align="center">X</td></tr>

<tr valign="top"><td>List</td>
<td align="center">X</td>

<td align="center">X</td>
<td align="center">X</td></tr>

<tr valign="top"><td>Progress Bar</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Sash</td>
<td align="center">X</td>

<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Scale</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Slider</td>
<td align="center">X</td>
<td align="center">X</td>

<td>&nbsp;</td></tr>

<tr valign="top"><td>Text Area</td>
<td align="center">X</td>
<td align="center">X</td>
<td align="center">X</td>

</tr><tr valign="top"><td>Advanced Text Area</td>
<td align="center">X</td>
<td align="center">X</td>

<td>&nbsp;</td></tr>

<tr valign="top"><td>Tree</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Menu</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Tab Folder</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Toolbar</td>
<td align="center">X</td>
<td align="center">X</td>
<td align="center">X</td>

</tr><tr valign="top"><td>Spinner</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Spinner</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>

<tr valign="top"><td>Table</td>
<td align="center">X</td>
<td align="center">X</td>
<td align="center">X</td></tr>

<tr valign="top"><td>Advanced Table</td>
<td align="center">X</td>
<td align="center">X</td>
<td>&nbsp;</td></tr>
</table>
<br><br>
Being an Eclipse user, I choose SWT for the Jeopardy project because I want a fast interface which seems as a native application on Linux (also on poor windows). I also want to create native binaries which can be done by modifiying Eclipse run parameters.
<br><br>
You can read more about SWT before making your choice, these are the references I used.<br>
http://www.eclipse.org/swt<br>
http://www.fawcette.com/javapro/2002_12/magazine/columns/proshop/<br>
http://www.developer.com/java/other/article.php/10936_2179061_2<br>
http://www-106.ibm.com/developerworks/java/library/j-nativegui2/<br>
http://www.developer.com/java/other/article.php/3330861<br>
http://www.eclipse.org/articles/Understanding%20Layouts/Understanding%20Layouts.htm<br>
http://www.cs.umanitoba.ca/~eclipse/<br>
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets<br>
<br><br>
Have a nice UI :)
<br><br>
Ozgur Akan<br>
jeopardy.dev.java.net]]>

</content>
</entry>
<entry>
<title>What is your aim in this community?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2004/09/what_is_your_ai.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-09-17T08:47:35Z</issued>
<id>tag:weblogs.java.net,2004:/blog/aiqa/172.88</id>
<created>2004-09-17T08:47:35Z</created>
<summary type="text/plain">You have the power to be able to think that no creature has ever thought. Be the one!</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[Why do we live? Why am I born? Why do I have the power to ask myself "why do I have the power to ask myself?".
<br><br>
Does an ant think what it is doing? Why it works all day long and never sleeps? If an ant would be able to think why he works all the day and follow only the one infront of him would there be a perfect colony for the ants? Which ant decides which path is the best to find food and why an ant decides to follow another but does not try to find its own path?
<br><br>
Why do I have this power? The power to be able to think that no creature has ever thought. I am not the fastest nor the strongest being among the others. Why am I the cleverest?
<br><br>
A cheetah runs fast to hunt, a giraffe eats the fruits that noone can reach, bat hears what noone can hear. Animals are good at what they are good to find food. From another point of view they are using their best ability to find their food.
<br><br>
My gift is my mind !
<br><br>
Am I clever to find food? I think to find food, to kill, to create, to destroy, to love, to hate... Am I clever just to do one of these things better than others?
<br><br>
Am I clever to believe, to find something to believe in or not clever enough at all? What shall I believe? ...believe in me?
<br><br>
My mental ability is given to me to create the tool to hunt, to cook, to write, to fly, to explore, to play with numbers, to find the borders of the universe. When some people started to hunt while some started to cook, the profession concept was born.
<br><br>
There are lots of professions. One is a lawyer, one is a doctor, one is a plumber, one is a computer programmer. Based on knowledge, all these professions are the products of human intelligence but nothing is infinite even our universe, nor our intelligence.
<br><br>
Its speed is what makes a cheetah a cheetah and its abilty to hear is what makes a bat a bat. As cheetah can run fast but can not hear as good as a bat, I can do only one thing better than other people. It is only one proffession what will make me me! Isn`t every person that you know from history is good at one thing?
<br><br>
Be a good doctor at surgery but a doctor who is good at heart surgery but a doctor who is good at heart surgery valve disase type operations, and so on...
<br><br>
Do one thing that can never be done by others as good as you do. Know one thing that is not known by others as much as you do.
<br><br>
Dedicate yourself to one single area as a mother dedicates herself to her child. Live for your aim, take only steps which will take you closer to your aim. Talk about it. Sleep with it, wake up with it.
<br><br>
Isn`t it for a scratch in the time line that will be remembered?
<br><br>
Make it happen. Be the ONE!]]>

</content>
</entry>
<entry>
<title>OS Community is Cultural Creative</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2004/08/os_community_is.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-08-17T05:50:14Z</issued>
<id>tag:weblogs.java.net,2004:/blog/aiqa/172.522</id>
<created>2004-08-17T05:50:14Z</created>
<summary type="text/plain">The power of the One extends beyond this world. It reaches from here all the way back to where it came from: The Source.</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[Cultural Creative is a term coined by Paul H. Ray and Sherry Anderson to describe people whose values embrace a curiosity and concern for the world, its ecosystem, and its peoples; an awareness of and activism for peace and social justice; and an openness to self-actualization through spirituality, psychotherapy, and holistic practices.
<br><br>
I believe that everyone in this project (also in other os software projects) is Cultural Creative. We have aims beyond our personal gains like to create a priceless software which will serve to anyone who needs it. A software which will show all of it`s roots. A software that will totally change the way others (other firewall softwares) are developed.
<br><br>
We are getting crowded day by day.  Today there are 34 people in the team of Jeopardy.
<br><br>
Fourteen developers, sixteen observers, two web designers, a content developer and one me :). The <b>commun</b>ity concept is built on <b>commun</b>ication so we started to discuss in developer mailing list. After a few e-mails, we know more about each other. 
<br><br>
We have members from Turkey, USA, Mexico, India, China, Belarus and probably from some other countries. (You can not get answers as quick as you want because I think some members are not connected to internet continously.) Most of the members have experienced in at least two of these subjects; linux, java, databases, php and perl. All developers are male and age avarage is 27.
<br><br>
I have written a documentation about the general structure of Jeopardy. You can find it from this link. (https://jeopardy.dev.java.net/files/documents/1283/5946/jeopardyArch.pdf) There is a chart showing the layers of Jeopardy and how they communicate with each other. We will expand it, write specifications of what Jeopardy will be able to do but will not decide everything at the beginning. If we spend too much time with discussions I believe that people will loose their consantration. We have to start to create! When the source will be available I believe more people will be interested in Jeopardy. They will have something to learn from and something to contribute.
<br><br>
Like Oracle said in the matrix movie; The power of Jeopardy Project extends beyond the open source world. It reaches from here all the way back to where it came from: The Source]]>

</content>
</entry>
<entry>
<title>How to make her love you?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2004/08/how_to_make_her.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-08-10T08:04:29Z</issued>
<id>tag:weblogs.java.net,2004:/blog/aiqa/172.716</id>
<created>2004-08-10T08:04:29Z</created>
<summary type="text/plain">These are the proven ways to make her (the community) love you (your open source software).</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[Have you ever heard about lovemarks?
<br><br>

Kevin Roberts, the CEO of Saatchi&Saatchi, invented the term lovemark to describe a brand that connects on an emotional level with consumers. Simply a lovemark is the mark you love. Because love is the point in long lasting relationships, it is important to be loved if you want continuing interest. Most of the open source softwares are created with java if not with C/C++ which proves Java has already been a lovemark as Linux is. 
<br><br>

What is love? Love is described as: a strong positive emotion of regard and affection. So is it love or not what you feel about Java? Is it love what you feel about the open source software that you use everyday for your personal or bussiness` needs? Do you want others to feel same for your software?
<br><br>

In open source communinty interest means more improvement on software. While self motivation and self needs are the starting point to an open source project, interest and participation are the food to feed the open source community. So how can we create a solid interest (love) on our software?
<br><br>

As  a linux fan remarked "Linux (a successful open source software) is a symbol of individuals cooperating in a world project to create a quality product. A simple idea that required vision, leadership, cooperation, and above all talent to give it life.", to create your lovemark and solid interest for your sotfware;
<br><br>
1-First of all you have to create a quailty product which finds a solution for a specific problem.<br>
2-Have a vivid mental image so called "vison".<br>
3-Have passion to finish what you have started.<br>
4-Have leadership, people needs leaders to be motivated.<br>
5-Always take the first steps, write the first code, draw the first diagram etc.<br>
6-You must be in communication with others. Tell about your project everywhere!<br>
7-Create detailed documentation about any idea or code.<br>
8-Create a attractive web site.<br>
9-Give deadlines for every action even for yourself. ("A goal is just a dream with a deadline.")<br>
10- Watch a successful open source project.<br>
11-Do never release buggy versions.<br>
12-Provide patches as soon as possbile.<br>
13-Create easliy installable software.<br>
14-Inform users that your project is actively being developed or maintained.<br>
15-Create comments for every line of your code.

<br><br>
How to make others love your software is deeply related with the actions you take. He is only you to work on your software until when it really becomes a community software. It will not be easy, if it would, would you love it?
<br><br>
<a href="http://jeopardy.dev.java.net">Jeopardy Project: Open Source Linux Firewall Management Interface</a>]]>

</content>
</entry>
<entry>
<title>I believe in us!</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2004/08/i_believe_in_us.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-08-05T08:21:31Z</issued>
<id>tag:weblogs.java.net,2004:/blog/aiqa/172.570</id>
<created>2004-08-05T08:21:31Z</created>
<summary type="text/plain">Imagine a future when all networks are secured by Jeopardy. Imagine you are a part of it!</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Open Source</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[<a href="http://jeopardy.dev.java.net">Jeopardy Project</a> is in an early state. The most painful days are these because we have to make more people interested in our project. We need to provide a starting point.
<br><br>
Actually we are really lucky because of the platform we are working on. Java and linux have already proved their success in every need of programmers. Using both java and linux we become platform and hardware independent. Java can work on several operating systems and linux can work on several hardware. I guess  people will be interested in a project like Jeopardy because our infrastructure is perfect.
<br><br>
Open source projects need people`s attention more than closed source projects. Because -we don`t pay- just share information we have got, there is only one motivation that you can have, being a member of a successful open source project. Coding for open source comminity is like donating to future. 
<br><br>
Imagine a future when all networks are secured by Jeopardy. Imagine you are a part of it. Imagine your work is one of the building blocks of the future networks. The day will come, people will ask questions about our project. They will ask for help to install it. There will be thousands of people asking questions so we will again use the power of open source community and use mailing lists for users. We have an immense power by the help of internet. We can learn anything, anytime. We can communicate directly by e-mail. We can work as one by using these comminication methods.
<br><br>
We need one thing. One simple state of physicology that people can not have constantly. It is successful mans first rule to keep focusing on a subject : "motivation". In this universe even one simple stone can not be lifted without the motivation of the effect of it`s results. It is easy and simle keep motivated. Keep thinking the results of success that will come after your efforts.
<br><br>
Jeopardy project will be successful. We, the workers of Jeopardy project, will be honoured one day. I am working for that day. This is our motivation. 
<br><br>
<a href="https://jeopardy.dev.java.net/servlets/ProjectMemberList">Join us!</a>
]]>

</content>
</entry>
<entry>
<title>Would you join my intelligence?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2004/08/would_you_join.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-08-02T00:29:13Z</issued>
<id>tag:weblogs.java.net,2004:/blog/aiqa/172.1591</id>
<created>2004-08-02T00:29:13Z</created>
<summary type="text/plain">In this blog Ozgur Akan writes about the intelligence of an open source project.</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Open Source</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[Open Source Software... A dream that comes true. The only way to create something really valuable under no company pressure. The only way to code it as a hobby while communicating with the programmers from all over the world. One of the best way to improve computing skills. An ideal way to meet with the masters. A long way to walk... What about the human intelligence?
<br><br>

I think of software as something that has it`s own intelligence. A single line of code has an inteligence to do what that single line of code is written for.  Usually when the problem can be solved with a line of code probably there should only be one way to solve the problem but when it becomes lines of code, thousands of lines of code, who can manage that amount of knowledge?
<br><br>

From the beginning of an open source software human intelligence is combined as in the form of lines of codes. One programmer (especially an experienced one) can  give all of his experince to his software, but he is only one person. How much experienced ever he is or how clever, he has a brain with limited intelligence. He has one human life, he has to sleep, eat and do human stuff. Then a human can not solve complicated problems good enough.
<br><br>

A human can write only what a human can write but we need more of it. We need the one who is clever than any of us. We need the best code, the best solution, the one without bugs. We need perfection. n+1 people will always be able to do more than n people. n+1 people will have more work time than n people. n+1 people has more intelligence than the less have. 
<br><br>

The one perfect human is "us", we call it open source community and it is the intelligence we give to an open source software by the will of creating a piece of code that will last forever. A sign to future. A way to be remembered. A way to challange...
<br><br>

As I mentioned before, I think of software as something that has it`s own intelligence. In other words we can say "Open source software is the pool where we combine our intelligence". It is more than a software, it is the most humanistic creation of human mind. Have you ever eximined a successful open source software, for example netfilter? You will be amazed when you see it`s source code. You will find lots of tricks that you would have never tought in your mortal life.
<br><br>

Be involved to an open source project. Be involved to create the perfect code. Create something that has been tought to be impossible.
<br><br>

Be us!]]>

</content>
</entry>
<entry>
<title>Jeopardy Project has started!</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/aiqa/archive/2004/07/jeopardy_projec.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-07-27T10:17:50Z</issued>
<id>tag:weblogs.java.net,2004:/blog/aiqa/172.1101</id>
<created>2004-07-27T10:17:50Z</created>
<summary type="text/plain">Our effort is to create best firewall GUI for netfilter. Actually it will be more than a GUI, a system that will judge if a rule is meaningful or not in complex situations, so it will have it`s own AI.</summary>
<author>
<name>aiqa</name>

<email>akan@aiqa.com</email>
</author>
<dc:subject>Community: linux.java.net</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/aiqa/">
<![CDATA[Everyone using linux (iptables command) should (at least once) wish to use a graphical interface which can be used from any place at any platform (even a cell phone). One unified user interface for all your linux based firewall management needs which can be accessed via a browser or used as an application. One who is expert in networking can insert some sort of "rocket science rules" to the firewall while a newbie can click "close http access" after reading the explanation above the button.,
<br><br>
Netfilter Team has build an excellent firewall software which is developed day by day by the power of open source software. Linux lovers already started to use it but companies or linux (even computer) newbies hated the cli which is called "black screen" by those people.
<br><br>
Then we see some graphical user interfaces. Maybe the most succesful one is fwbuilder which lacks of working on different operating systems. It works only on linux :(. Not extendible to new netfilter pathces. A plain firewall managament intarface. (I don`t say it is a poor software but it is just a firewall interface)
<br><br>
jEopardy will be more than a firewall management software. It will also be network monitoring software with ids capabilities (it may work with snort ?) It will be a network oracle :) The only disadvantage of jEopardy is, it is still in the planning state. We have to work hard to create the best tool ever written for firewall management.
<br><br>
One who is involved in this project will learn how to program in Java or C, will learn networking concepts and security. Join us!
<br><br>
<a href="http://jeopardy.dev.java.net">http://jeopardy.dev.java.net</a>]]>

</content>
</entry>

</feed>