<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CE4ASXkycSp7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-6347222738671543708</id><updated>2011-11-28T03:15:48.799+02:00</updated><category term="agile" /><category term="java" /><title>A curious developer's blog</title><subtitle type="html">...</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://isaracoglu.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://isaracoglu.blogspot.com/" /><author><name>ibrahim</name><uri>http://www.blogger.com/profile/03382707070349033671</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://1.bp.blogspot.com/_lw81M2U48lA/SwsQXTZe6pI/AAAAAAAAAC8/rDe1KEjGs9o/S220/GG_r_nt_041.JPG" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ACuriousDevelopersBlog" /><feedburner:info uri="acuriousdevelopersblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUUCRX45eCp7ImA9Wx5bEkg.&quot;"><id>tag:blogger.com,1999:blog-6347222738671543708.post-5624029922126642703</id><published>2010-10-28T10:26:00.008+03:00</published><updated>2010-10-28T11:07:44.020+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-28T11:07:44.020+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Two Columned Layout for standart forms</title><content type="html">I have implemented a layout for panels with two columns. It calculates the width of the first column according to the widest component of first column. And, uses remained space for second column components. Besides, each row height is calculated according to each row's two inner components' heights. It may be useful for some cases.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;import java.awt.Component;&lt;br /&gt;import java.awt.Container;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;import java.awt.LayoutManager;&lt;br /&gt;&lt;br /&gt;public class TwoColumnedLayout implements LayoutManager {&lt;br /&gt;    private int horizontalGap = 0;&lt;br /&gt;    private int verticalGap = 0;&lt;br /&gt;&lt;br /&gt;    public TwoColumnedLayout() {&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public TwoColumnedLayout(int horizontalGap, int verticalGap) {&lt;br /&gt;        this.horizontalGap = horizontalGap;&lt;br /&gt;        this.verticalGap = verticalGap;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public Dimension preferredLayoutSize(Container parent) {&lt;br /&gt;        int count = parent.getComponentCount();&lt;br /&gt;        if (count == 0) {&lt;br /&gt;            return minimumLayoutSize(parent);&lt;br /&gt;        }&lt;br /&gt;        int totalHeight = 0;&lt;br /&gt;        int oddComponentHeight = 0;&lt;br /&gt;        int maxOddWidth = 1;&lt;br /&gt;        int maxEvenWidth = 1;&lt;br /&gt;        for (int i = 0; i &lt; count; ++i) {&lt;br /&gt;            Component subComponent = parent.getComponent(i);&lt;br /&gt;            Dimension size = subComponent.getPreferredSize();&lt;br /&gt;            if (i % 2 == 0) {&lt;br /&gt;                maxOddWidth = Math.max(maxOddWidth, size.width);&lt;br /&gt;                oddComponentHeight = size.height;&lt;br /&gt;                if (i &gt; 0) {&lt;br /&gt;                    totalHeight += verticalGap;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            else {&lt;br /&gt;                maxEvenWidth = Math.max(maxEvenWidth, size.width);&lt;br /&gt;                int maxHeight = Math.max(oddComponentHeight, size.height);&lt;br /&gt;                totalHeight += maxHeight;&lt;br /&gt;                oddComponentHeight = 0;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        totalHeight += oddComponentHeight;&lt;br /&gt;        return new Dimension(maxOddWidth + horizontalGap + maxEvenWidth, totalHeight);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public void layoutContainer(Container parent) {&lt;br /&gt;        int count = parent.getComponentCount();&lt;br /&gt;        if (count == 0) {&lt;br /&gt;            return;&lt;br /&gt;        }&lt;br /&gt;        Dimension parentSize = parent.getSize();&lt;br /&gt;        int parentWidth = parentSize.width;&lt;br /&gt;        int oddWidth = 1;&lt;br /&gt;        for (int i = 0; i &lt; count; ++i) {&lt;br /&gt;            Component subComponent = parent.getComponent(i);&lt;br /&gt;            Dimension componentSize = subComponent.getPreferredSize();&lt;br /&gt;            if (i % 2 == 0) {&lt;br /&gt;                oddWidth = Math.max(oddWidth, componentSize.width);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        int evenWidth = parentWidth - oddWidth - horizontalGap;&lt;br /&gt;        if (evenWidth &lt; 0) {&lt;br /&gt;            evenWidth = 1;&lt;br /&gt;        }&lt;br /&gt;        int y = 0;&lt;br /&gt;        int oddHeight = 0;&lt;br /&gt;        for (int i = 0; i &lt; count; ++i) {&lt;br /&gt;            Component subComponent = parent.getComponent(i);&lt;br /&gt;            Dimension componentSize = subComponent.getPreferredSize();&lt;br /&gt;            int componentHeight = componentSize.height;&lt;br /&gt;            if (i % 2 == 0) {&lt;br /&gt;                subComponent.setSize(oddWidth, componentHeight);&lt;br /&gt;                subComponent.setLocation(0, y);&lt;br /&gt;            }&lt;br /&gt;            else {&lt;br /&gt;                subComponent.setSize(evenWidth, componentHeight);&lt;br /&gt;                subComponent.setLocation(oddWidth + horizontalGap, y);&lt;br /&gt;                int rowHeight = Math.max(oddHeight, componentHeight);&lt;br /&gt;                y += rowHeight + verticalGap;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public Dimension minimumLayoutSize(Container parent) {&lt;br /&gt;        return new Dimension(1, 1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public void addLayoutComponent(String name, Component comp) {&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public void removeLayoutComponent(Component comp) {&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6347222738671543708-5624029922126642703?l=isaracoglu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jK1FtPaZO6Oqlfv3Sj5JMTp603A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jK1FtPaZO6Oqlfv3Sj5JMTp603A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jK1FtPaZO6Oqlfv3Sj5JMTp603A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jK1FtPaZO6Oqlfv3Sj5JMTp603A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ACuriousDevelopersBlog/~4/wmOpodpDghs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://isaracoglu.blogspot.com/feeds/5624029922126642703/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6347222738671543708&amp;postID=5624029922126642703&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/5624029922126642703?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/5624029922126642703?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ACuriousDevelopersBlog/~3/wmOpodpDghs/two-columned-layout-for-panels-with.html" title="Two Columned Layout for standart forms" /><author><name>ibrahim</name><uri>http://www.blogger.com/profile/03382707070349033671</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://1.bp.blogspot.com/_lw81M2U48lA/SwsQXTZe6pI/AAAAAAAAAC8/rDe1KEjGs9o/S220/GG_r_nt_041.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://isaracoglu.blogspot.com/2010/10/two-columned-layout-for-panels-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UNSH07eCp7ImA9WxBRFEk.&quot;"><id>tag:blogger.com,1999:blog-6347222738671543708.post-2601084473724906594</id><published>2010-01-02T17:49:00.004+02:00</published><updated>2010-01-02T18:21:39.300+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-02T18:21:39.300+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Setting focus traversal keys for JTextArea</title><content type="html">&lt;div style="text-align: justify;"&gt;It's unable to use the "Tab" key for JTextArea to focus next swing component. The next code fixes this problem, and makes the Tab and Shift-Tab keys usable to focus forward or backward.&lt;br /&gt;&lt;/div&gt;&lt;pre name="code" class="java"&gt;JTextArea textArea = new JTextArea();&lt;br /&gt;textArea.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,null);&lt;br /&gt;textArea.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,null);&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6347222738671543708-2601084473724906594?l=isaracoglu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PFZbtwx8VuZmvW4hGM1mfogeezs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PFZbtwx8VuZmvW4hGM1mfogeezs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PFZbtwx8VuZmvW4hGM1mfogeezs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PFZbtwx8VuZmvW4hGM1mfogeezs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ACuriousDevelopersBlog/~4/TuUnJYOaSTI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://isaracoglu.blogspot.com/feeds/2601084473724906594/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6347222738671543708&amp;postID=2601084473724906594&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/2601084473724906594?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/2601084473724906594?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ACuriousDevelopersBlog/~3/TuUnJYOaSTI/setting-focus-traversal-keys-for.html" title="Setting focus traversal keys for JTextArea" /><author><name>ibrahim</name><uri>http://www.blogger.com/profile/03382707070349033671</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://1.bp.blogspot.com/_lw81M2U48lA/SwsQXTZe6pI/AAAAAAAAAC8/rDe1KEjGs9o/S220/GG_r_nt_041.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://isaracoglu.blogspot.com/2010/01/setting-focus-traversal-keys-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04AQn45cSp7ImA9WxBREEk.&quot;"><id>tag:blogger.com,1999:blog-6347222738671543708.post-8061934524290916003</id><published>2009-12-29T00:20:00.009+02:00</published><updated>2009-12-29T01:12:23.029+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-29T01:12:23.029+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>How to read Excel sheet in Java?</title><content type="html">An example of reading and parsing an Excel file.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://img99.imageshack.us/img99/2300/excelfilezc8.jpg"&gt;&lt;img style="margin: 0px auto 10px; width: 306px; height: 139px;" src="http://img99.imageshack.us/img99/2300/excelfilezc8.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We have a class (HomeObject) and this class has two attributes ('doorNo' and 'ownerName').&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;public class HomeObject {&lt;br /&gt;   private int doorNo;&lt;br /&gt;   private String ownerName;&lt;br /&gt;&lt;br /&gt;   public int getDoorNo() {&lt;br /&gt;       return doorNo;&lt;br /&gt;   }&lt;br /&gt;   public void setDoorNo(int doorNo) {&lt;br /&gt;       this.doorNo = doorNo;&lt;br /&gt;   }&lt;br /&gt;   public String getOwnerName() {&lt;br /&gt;       return ownerName;&lt;br /&gt;   }&lt;br /&gt;   public void setOwnerName(String ownerName) {&lt;br /&gt;       this.ownerName = ownerName;&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;Now we want to read data from Excel sheet columns and add into a list in our ExcelParser class.&lt;br /&gt;For this purpose, we use The Apache POI project &lt;a href="http://poi.apache.org/download.html" target="_blank"&gt;library&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First of all, we add this code into import part of your ExcelParser class.&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;import org.apache.poi.hssf.usermodel.HSSFCell;&lt;br /&gt;import org.apache.poi.hssf.usermodel.HSSFRow;&lt;br /&gt;import org.apache.poi.hssf.usermodel.HSSFSheet;&lt;br /&gt;import org.apache.poi.hssf.usermodel.HSSFWorkbook;&lt;/pre&gt;We need a function that controls data compability in sheet columns.&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;private String getCellValue(HSSFCell cell) {&lt;br /&gt; if (cell == null) return null;&lt;br /&gt; String result = null;&lt;br /&gt; int cellType = cell.getCellType();&lt;br /&gt; switch (cellType) {&lt;br /&gt;    case HSSFCell.CELL_TYPE_BLANK:&lt;br /&gt;        result = "";&lt;br /&gt;        break;&lt;br /&gt;    case HSSFCell.CELL_TYPE_BOOLEAN:&lt;br /&gt;        result = cell.getBooleanCellValue() ? "true" : "false";&lt;br /&gt;        break;&lt;br /&gt;    case HSSFCell.CELL_TYPE_ERROR:&lt;br /&gt;        result = "ERROR: " + cell.getErrorCellValue();&lt;br /&gt;        break;&lt;br /&gt;    case HSSFCell.CELL_TYPE_FORMULA:&lt;br /&gt;        result = cell.getCellFormula();&lt;br /&gt;        break;&lt;br /&gt;    case HSSFCell.CELL_TYPE_NUMERIC:&lt;br /&gt;        result = String.valueOf((long) cell.getNumericCellValue());&lt;br /&gt;        break;&lt;br /&gt;    case HSSFCell.CELL_TYPE_STRING:&lt;br /&gt;        result = cell.toString();&lt;br /&gt;        break;&lt;br /&gt;    default:&lt;br /&gt;        break;&lt;br /&gt; }&lt;br /&gt; return result;&lt;br /&gt;}&lt;/pre&gt;and we add that code into main function in ExcelParser class.&lt;br /&gt;&lt;pre name="code" class="java"&gt;try {&lt;br /&gt; HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(file));&lt;br /&gt; // we assume we have data only in the first sheet.&lt;br /&gt; HSSFSheet sheet = workbook.getSheetAt(0);&lt;br /&gt; List homeObjects = new LinkedList();&lt;br /&gt; HomeObject homeObject;&lt;br /&gt; for (Iterator rows = sheet.rowIterator(); rows.hasNext();) {&lt;br /&gt;    HSSFRow row = (HSSFRow) rows.next();&lt;br /&gt;    // we know that the first line is for column names. we won't use it&lt;br /&gt;    if (row.getRowNum() == 0) continue;&lt;br /&gt;    homeObject = new HomeObject();&lt;br /&gt;    homeObject.setDoorNo(getCellValue(row.getCell((short) 0)));&lt;br /&gt;    homeObject.setOwnerName(getCellValue(row.getCell((short) 1)));&lt;br /&gt;    homeObjects.add(homeObject);&lt;br /&gt; }&lt;br /&gt;} catch (IOException e) {&lt;br /&gt; // todo : error handling&lt;br /&gt;}&lt;/pre&gt;Now, we have a list contains column data as HomeObject objects to use.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6347222738671543708-8061934524290916003?l=isaracoglu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lUwt7nKA96I0ewCGA9ghZbg9E9s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lUwt7nKA96I0ewCGA9ghZbg9E9s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lUwt7nKA96I0ewCGA9ghZbg9E9s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lUwt7nKA96I0ewCGA9ghZbg9E9s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ACuriousDevelopersBlog/~4/qWL4T-YcgzM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://isaracoglu.blogspot.com/feeds/8061934524290916003/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6347222738671543708&amp;postID=8061934524290916003&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/8061934524290916003?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/8061934524290916003?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ACuriousDevelopersBlog/~3/qWL4T-YcgzM/how-to-read-excel-sheet-in-java.html" title="How to read Excel sheet in Java?" /><author><name>ibrahim</name><uri>http://www.blogger.com/profile/03382707070349033671</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://1.bp.blogspot.com/_lw81M2U48lA/SwsQXTZe6pI/AAAAAAAAAC8/rDe1KEjGs9o/S220/GG_r_nt_041.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://isaracoglu.blogspot.com/2009/12/how-to-read-excel-sheet-in-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ABRXc4fip7ImA9WxBSGEk.&quot;"><id>tag:blogger.com,1999:blog-6347222738671543708.post-3485338848169092362</id><published>2009-12-26T14:45:00.004+02:00</published><updated>2009-12-26T17:35:54.936+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-26T17:35:54.936+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><title>What is agile?</title><content type="html">&lt;span style="font-style: italic;"&gt;I decided to write about Agile development and Agile practices days ago. But I coudn't have time to write. At last I've decided to write all as a series of short blog-posts.&lt;br /&gt;&lt;br /&gt;In this post, I'll try to explain "what is agile?".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Agile &lt;/span&gt;term used to mean for thinking and reacting very quickly. In software industry, it has more meaning. Agile refers to a group of software development practices which let the software project adopt to change quickly. But Agile is not a method by itself. It's an umbrealla term for some iterative and incremental methodologies such as Scrum, XP (Extreme Programming), Crystal Clear, and DSDM.&lt;br /&gt;&lt;br /&gt;In 2001, 17 agile evangelists met to discuss the need for lighter alternatives to the traditional methodologies and declared Agile manifesto. This manifesto defined four values and twelve principles for agile software development. The values are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Individuals and interactions&lt;/span&gt; over processes and tools&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Working software&lt;/span&gt; over comprehensive documentation&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Customer collaboration&lt;/span&gt; over contract negotiation&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Responding to change&lt;/span&gt; over following a plan&lt;/li&gt;&lt;/ul&gt;and 12 principles:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Customer satisfaction through early and continuous delivery of valuable software &lt;/li&gt;&lt;li&gt;Welcome changing requirements, even late.&lt;/li&gt;&lt;li&gt;Deliver working software frequently (iterations)&lt;/li&gt;&lt;li&gt;Daily communication between business people and development team&lt;/li&gt;&lt;li&gt;Projects around motivated individuals&lt;/li&gt;&lt;li&gt;Face-to-face conversation to convey information within development team.&lt;/li&gt;&lt;li&gt;The primary measure of progress is working software&lt;/li&gt;&lt;li&gt;Sustainable development pace&lt;/li&gt;&lt;li&gt;Technical excellence and good design&lt;/li&gt;&lt;li&gt;Simplicity&lt;/li&gt;&lt;li&gt;Self-organizing teams&lt;/li&gt;&lt;li&gt;Reflection on how to become more effective at regular intervals&lt;/li&gt;&lt;/ol&gt;These priorities and principles are still the basis of agile. But I think Agile is more than these things. I mean Agile methods. I'll write about all step by step. :)&lt;div style="position: absolute; left: 320px; top: 613px; display: block; opacity: 1; z-index: 9999; cursor: pointer;" id="what_the_hell_icon"&gt;&lt;img style="float: left;" id="what_the_hell_icon_img" src="data:image;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArhJREFUeNq0lU1PGkEYx2fnbYFFqC+1iWhF0RgRGkqaYEx69qgHjf0S9SO036MnT156MMbPgJCUmLTSJrYNVFMvvRiXV1dh+8wy207GrUkPLPlnmX35zZ9nnv+A0JAO44HrqrB2vw9yNT0IVmFEk/+sgPQ03ZuABkCxBDF5n8kxVtwK2C3oTp578ro/8T0wVmDWq52dZ5lMdtuyrNVwOJREhoFubro/2u1O+fT09P3+/v4neK6lTOKXyHOiQzkouvt6d2NqaurtwkLqZTaz8mRuft5Mzad4cjY5zhhN9/vu6vN87rpUKtW1ciAVrEJDW1tb+emZxJv19fXFRCIRAsc4EokYJjeNUCSMZ6Zn2NLS0qN6rbb4eHLyY7Va/aUvJlYcEx+ey+W2oQTJ0dFRNhIdQQBFpmkiDvLOIRNNTIyzQqGQzOfz29IQVRdZB4vaMnBYWEmnuSWAABEaQDkC14gz7o0z2SyPWtGC/54Kpkop/LaiAJ6Nx+OEEIoIJYgSgogiLM4Yo7GxMWJZkVnF7Z/uCeoKjGH1OeeIMgALuARhAsKD7wZ8d/suMjD2jWE1Fzgodu1O58JxnB5nJmKcIcYGohQmo9RzbMCnYTd67Vb7Ioihgl3Zh/1ms1n5+u27I6CcSueee3Bq/A1r9XPVsZuNiv+e2m56moTuyuXyYaXy4dxu2LeixgQPHKrH1dXVbblUOi8dHx/KcPTUBOoB8brj7OzsOr28bNdq9TnXda1YPG5Am3lk27Z7Jycn3aOjo/rPy8t3e3t7x3C5A7pR4u0aQQEBhUWkNzc302traxuxWOyFFbWeCtetZuuiAT+/WCweHhwcfJGRFuAuyPGjbfwj0iEpU46DNiFHuuzqUOGYKgvnKrsW0sZUA/u7mqOXIGh3c5WX/Afu/nPbdIe+0Q/tr2lox28BBgBARwD6fd1xxAAAAABJRU5ErkJggg==" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6347222738671543708-3485338848169092362?l=isaracoglu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/c_cmYunbejBGXl1sA8m5ZSlVbnM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c_cmYunbejBGXl1sA8m5ZSlVbnM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/c_cmYunbejBGXl1sA8m5ZSlVbnM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c_cmYunbejBGXl1sA8m5ZSlVbnM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ACuriousDevelopersBlog/~4/B0yKhD9YE4Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://isaracoglu.blogspot.com/feeds/3485338848169092362/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6347222738671543708&amp;postID=3485338848169092362&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/3485338848169092362?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/3485338848169092362?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ACuriousDevelopersBlog/~3/B0yKhD9YE4Y/what-is-agile.html" title="What is agile?" /><author><name>ibrahim</name><uri>http://www.blogger.com/profile/03382707070349033671</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://1.bp.blogspot.com/_lw81M2U48lA/SwsQXTZe6pI/AAAAAAAAAC8/rDe1KEjGs9o/S220/GG_r_nt_041.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://isaracoglu.blogspot.com/2009/12/what-is-agile.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4ESX4_fip7ImA9WxNaEEw.&quot;"><id>tag:blogger.com,1999:blog-6347222738671543708.post-2312304366992861521</id><published>2009-02-03T13:48:00.001+02:00</published><updated>2009-11-24T01:11:48.046+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T01:11:48.046+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Hello World</title><content type="html">&lt;pre name="code" class="java"&gt;&lt;br /&gt;public class HelloWorld {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        System.out.println("Hello, World");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6347222738671543708-2312304366992861521?l=isaracoglu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/q4VLrl1CyO6PBV5M_PVpv4hVVDA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q4VLrl1CyO6PBV5M_PVpv4hVVDA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/q4VLrl1CyO6PBV5M_PVpv4hVVDA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q4VLrl1CyO6PBV5M_PVpv4hVVDA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ACuriousDevelopersBlog/~4/Z6bCBps0vy8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://isaracoglu.blogspot.com/feeds/2312304366992861521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6347222738671543708&amp;postID=2312304366992861521&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/2312304366992861521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6347222738671543708/posts/default/2312304366992861521?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ACuriousDevelopersBlog/~3/Z6bCBps0vy8/paneller-aras-tab-sralamas.html" title="Hello World" /><author><name>ibrahim</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://isaracoglu.blogspot.com/2009/02/paneller-aras-tab-sralamas.html</feedburner:origLink></entry></feed>

