<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pragmatic Programmer Issues - pietrowski.info &#187; technology</title>
	<atom:link href="http://pietrowski.info/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://pietrowski.info</link>
	<description></description>
	<lastBuildDate>Tue, 27 Jul 2010 07:31:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>skipfish &#8211; fast, easy and simple</title>
		<link>http://pietrowski.info/2010/04/skipfish-fast-easy-and-simple/</link>
		<comments>http://pietrowski.info/2010/04/skipfish-fast-easy-and-simple/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 18:30:53 +0000</pubDate>
		<dc:creator>pedro</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://pietrowski.info/?p=255</guid>
		<description><![CDATA[Skipfish is google code project. It is web application security scanner, high speed (they claim 2000 requests per second* &#8211; * &#8211; at local LAN ) and due the fact it is command line tool without fancy wizards, options and so on, it is relatively easy to use, and for sure it is easy to [...]]]></description>
			<content:encoded><![CDATA[<p>Skipfish is google code project. It is web application security scanner, high speed (they claim 2000 requests per second* &#8211; * &#8211; at local LAN <img src='http://pietrowski.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) and due the fact it is command line tool without fancy wizards, options and so on, it is relatively easy to use, and for sure it is easy to just start scanning.</p>
<p>Skipfish is active scanner so it first scan application, preparing the map of web site, than recursively ran different test, the last thing is report generation. Documentation is simple and has a lot of example we can start on. So let&#8217;s see that in action.</p>
<p>One of such command is:
<p>
<em>$ skipfish  -m 5 -LVJ -W /dev/null -o output_dir -b ie http://www.example.com/</em></p>
<p>During the scan, Skipfish is displaying statistics:</p>
<pre>
Scan statistics
---------------

       Scan time : 0:11:07.0068
   HTTP requests : 2446 sent (3.71/s), 16228.73 kB in, 659.18 kB out (25.32 kB/s)
     Compression : 0.00 kB in, 0.00 kB out (0.00% gain)
 HTTP exceptions : 34 net errors, 0 proto errors, 0 retried, 0 drops
 TCP connections : 2451 total (1.09 req/conn)
  TCP exceptions : 0 failures, 1 timeouts, 0 purged
  External links : 745 skipped
    Reqs pending : 219        

Database statistics
-------------------

          Pivots : 471 total, 94 done (19.96%)
     In progress : 323 pending, 38 init, 12 attacks, 4 dict
   Missing nodes : 54 spotted
      Node types : 1 serv, 269 dir, 46 file, 1 pinfo, 91 unkn, 63 par, 0 val
    Issues found : 70 info, 111 warn, 49 low, 1 medium, 13 high impact
       Dict size : 0 words (0 new), 0 extensions, 0 candidates
</pre>
<p>After few hours/minutes, it depends on the site we are scanning, we will got</p>
<pre>
[+] Copying static resources...
[+] Sorting and annotating crawl nodes: 1666
[+] Looking for duplicate entries: 1666
[+] Counting unique issues: 1158
[+] Writing scan description...
[+] Counting unique issues: 1666
[+] Generating summary views...
[+] Report saved to outputDir/index.html
[+] This was a great day for science!
</pre>
</p>
<p>The report consist of &#8220;crawl results&#8221;, &#8220;document type overview&#8221; and &#8220;issue type overview&#8221;. My last scan result has some finding, but also has a lot of false positives, it seams that a lot of work still waiting for a Skipfish team, but it looks promising.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://pietrowski.info/2010/04/skipfish-fast-easy-and-simple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VisualVm performance tuning tool</title>
		<link>http://pietrowski.info/2009/06/visualvm-performance-tuning-tool/</link>
		<comments>http://pietrowski.info/2009/06/visualvm-performance-tuning-tool/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 08:35:21 +0000</pubDate>
		<dc:creator>pedro</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://pietrowski.info/2009/06/visualvm-performance-tuning-tool/</guid>
		<description><![CDATA[Few weeks ago I&#8217;ve got Performance Tuning Training made by Kirk. It was great time for me and great training. If you can manage such training go there. You won&#8217;t regret it. After this training I&#8217;ve got some deeper knowledge about performance tuning and performance tuning tools. One of such tool is VisualVm.  If you [...]]]></description>
			<content:encoded><![CDATA[<p>Few weeks ago I&#8217;ve got <a href="http://kirk.blog-city.com/read/page/java_performance_tuning.htm">Performance Tuning Training made by Kirk</a>. It was great time for me and great training. If you can manage such training go there. You won&#8217;t regret it. After this training I&#8217;ve got some deeper knowledge about performance tuning and performance tuning tools. One of such tool is <a href="https://visualvm.dev.java.net/">VisualVm.</a>  If you download latest Java 6 update 14 (May 28), than you have one more option to perform application tuning. Beside of <em>jps</em>, <em>jstat</em>, <em>jmap</em> you get <em>jvisualvm.</em> The tool has long story, from NetBeans plugin to standard java tool.  If you have earlier java version you can also download it separately from project page <a href="http://visualvm.dev.java.net">visualvm.dev.java.net</a> .</p>
<p>The VisualVm developers made very good job providing plugin API. If you write any plugin for NetBeans Platform you know how to write plugin for VisualVm tool. In this post I will describe available plugins. How to install them and how to use them. The plugin menu is under Tools-&gt;Plugin. We can setup there plugins repositories. We can also manage our plugins (install, uninstall, activate, deactivate).</p>
<p>As I write this post currently available plugins are:.</p>
<p><strong>VisualVM-Glassfish</strong>: Advanced monitoring of Glassfish server. I use Glassfish as development server in daily work and the plugin is very useful.  I will not describe this plugin. It has very nice and detailed description made <a href="http://weblogs.java.net/blog/kalali/archive/2009/03/monitoring_glas.html">by Masoud Kalali</a>.<br /><strong><br />Java ME Priofiler Snapshot Viewer</strong> : Java ME SDK 3.0 offline profiling session viewer.  I&#8217;ve got very little with Java ME, so I stay just on this short  description.</p>
<p><strong>VisualVm-Extension</strong> : Provide support for extending VisualVM for new JDK, JVM etc. It is for extension proposes in the future.</p>
<p><strong>Memory Sampler</strong> : Experimental sampling memory profiler. It&#8217;s similar to <em>jmap -histo</em>, an additional feature over the <em>jmap</em>  is possibility to display delta results. If you try to find heap memory problem or PermGen space problems this tool can help you to figure out what going there.</p>
<p align="center"><img height="382" style="margin: 5px" width="636" alt="memory sampler" title="memory sampler" src="http://pietrowski.info/wp-content/uploads/2009/06/memory-sampler.png" /></p>
<p>From the top on the left you can set refresh rate, on the right you can set Heap, PermGen samples and &quot;Perform GC&quot; and &quot;Heap Dump&quot; on demand. Both histograms has short information about classes, instances and overall size, and has three operation, &quot;Pause&quot; stops refreshing and it waits to push &quot;Update&quot; button, and &quot;Deltas&quot; switch to delta result mode. On the bottom we have filtering option to the histogram. Quite nice functionality for free.</p>
<p><strong>VisualVM-JConsole</strong>: There is another command line tool called jconsole, and you can provide additional plugins for them, this plugin allows you to put the same jconsole plugin into VisualVm tool. <a href="http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html">More information</a>. </p>
<p><strong>VisualVM-MBean:</strong> MBean viewer from jconsole,  You have access to all registered MBean. I assume that you are familiar with JMX and MBeans, so I just put screen shot for you.</p>
<p align="center"><img height="451" width="636" style="margin: 5px" class="" alt="MBean Browser" src="http://pietrowski.info/wp-content/uploads/2009/06/mbeans-browser.png" title="MBean Browser" /></p>
<p>On the left is MBean tree group by MBean&#8217;s category, and on the right are MBean&#8217;s properties, grouped by Attributes, Operations (methods), Notification (if MBean <a href="http://java.sun.com/javase/6/docs/technotes/guides/jmx/tutorial/essential.html#wp1053200">defines notifications</a>) and Metadata (all information provided with MBean).</p>
<p><strong>Visual GC</strong>: Integration of the <a href="http://java.sun.com/performance/jvmstat/visualgc.html">Visual GC</a> tool into VisualVM. It is quite nice and quick view of java heap utilization, maybe it is not so detailed but you can quickly figure out what&#8217;s going on.</p>
<p align="center"><img height="397" style="margin: 5px" width="636" alt="VisualGC" title="VisualGC" src="http://pietrowski.info/wp-content/uploads/2009/06/VisualGc.png" /></p>
<p></p>
<p>On the left we have spaces with information how full space are, on the right we have space trends and on the bottom we&#8217;ve got heap histogram.</p>
<p><strong>SysTray</strong>: Allows to minimize VisualVM into system tray. Unfortunately it is not supported on Mac OS X.</p>
<p><strong>KillApplication</strong>: Very simple functionality, from menu we can kill any java attached application. Just press right mouse button on the application and choose &quot;<strong>Kill Application</strong>&quot;.</p>
<p><strong>VisualVM-JvmCapabilities</strong>: Sample plugin displaying JVM capabilities in Overview tab. It is for learning proposes.</p>
<p align="center"><img height="397" style="margin: 5px" width="636" alt="Demo plugin" title="Demo plugin" src="http://pietrowski.info/wp-content/uploads/2009/06/overview-jvm-capabilities.png" /></p>
<p>In additional tab we see more information about currently attached JVM.</p>
<p><strong>VisualVm-Logfile Module</strong>: Logfile Plugin needed by TDA Plugin. Support JVM log file parsing, we can use it into our plugins.</p>
<p><strong>VisualVm TDA Module</strong>:  <a href="https://tda.dev.java.net/">Thread Dump Analyzer</a> Plugin. Now you can use TDA directly from VisualVm. Currently there are some problems with this plugin, but from my point of view it&#8217;s worth to manage this problems. Problems mainly are relevant for displaying properly TDA workspace. This is sample screen after manage displaying problems.</p>
<p><img height="399" style="margin: 5px" width="636" alt="Thread Dump Analyzer" title="Thread Dump Analyzer" src="http://pietrowski.info/wp-content/uploads/2009/06/tda.png" /></p>
<p>On the top you have to action button, they are responsible for Thread Dump tree operation. In the upper left corner you have standard TDA thread groups with monitors. On the right TDA displays current chose group and on the bottom TDA display current chose thread. The great thing is that in thread panel you can pressed &quot;<em>Thread Dump</em>&quot; button and after that you simply select Thread Dump and TDA is opening automatically. Great tool.</p>
<p>Is this all ?!?</p>
<p>In fact no. Of course you can look around jconsole plugin or <a href="http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html">write it by ourselves</a>. Another option is to write by ourselves VisualVm plugin which can be very easy task due to <a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=10000">VisualVM Sample Collection</a>. This is a collection of NetBeans example projects which are VisualVM plugins. There are also some others sample projects, you can <a href="http://plugins.netbeans.org/PluginPortal/faces/CategoryPage.jsp?categoryname=VisualVM">find them here</a>.  Also VisualVM team provides great information <a href="https://visualvm.dev.java.net/api-quickstart.html">how to start with VisualVM API</a>.</p>
<p>Currently there is under development a plugin to <a href="https://gchisto.dev.java.net/">Garbage Collection Histogram</a> Tool. Another Plugin in development is BTrace plugin. We can install it by adding additional VisualVm plugin repository. <a href="https://btrace.dev.java.net/visualvm_uc.html">All the information is provided for you here</a>.</p>
<p align="center"><img height="397" style="margin: 5px" width="636" alt="Btrace plugin" title="Btrace plugin" src="http://pietrowski.info/wp-content/uploads/2009/06/BTrace.png" /></p>
<p>You can write BTrace script to find out what&#8217;s going on. <a href="https://btrace.dev.java.net/source/browse/btrace/docs/usersguide.html?rev=1.7">User Guide is here</a>.</p>
<p>With GHisto is more work to do. The team is working hard, actually you can download <a href='http://pietrowski.info/wp-content/uploads/2009/06/GCHisto.tgz'>GCHisto</a>. You download and run it by <em>java -jar </em>command.</p>
<p>, I&#8217;m still waiting for the VisualVM plugin.</p>
<h3>Conclusion</h3>
<p>I install all of this plugins, and I disabled SysTray and JavaME Profiler. I put it on the USB stick and have always with me. Unfortunately it works the best with Java 6, so if you have legacy systems it will be hard to use all the features. Also if you go into problems such as this:</p>
<pre>
Profiler Agent: JNI On Load Initializing...
Profiler Agent: JNI OnLoad Initialized succesfully
Profiler Agent: Waiting for connection on port 5140 (Protocol version: <img src='http://pietrowski.info/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' />
Profiler Agent: Established local connection with the tool
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6ddc1475, pid=2768, tid=4136
#
# Java VM: Java HotSpot(TM) Server VM (11.3-b02 mixed mode windows-x86)
# Problematic frame:
# V  [jvm.dll+0x291475]
#
# An error report file with more information is saved as:
# c:\development\svn\unite-trunk\hs_err_pid2768.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
</pre>
<p>Check if both Application and VisualVM work on the same JVM.  I get this error due to run application on Java 6u13 and VisualVM running on Java 6u14.</p>
</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://pietrowski.info/2009/06/visualvm-performance-tuning-tool/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AOSD &#8211; Finally Thoughts</title>
		<link>http://pietrowski.info/2009/03/aosd-finally-thoughts/</link>
		<comments>http://pietrowski.info/2009/03/aosd-finally-thoughts/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 16:59:07 +0000</pubDate>
		<dc:creator>pedro</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[aspect]]></category>

		<guid isPermaLink="false">http://pietrowski.info/?p=140</guid>
		<description><![CDATA[We started with Keynote by John A. Stankovic from Universtity of Virginia, it was really cool keynote. He talk about defense system  The dynamics aspects where use to implement mechanism &#8220;right defense at the right time&#8221;. He describe real life problems with messages encryption, power management and sensor localization. The localization problem comes from that [...]]]></description>
			<content:encoded><![CDATA[<p>We started with Keynote by John A. Stankovic from Universtity of Virginia, it was really cool keynote. He talk about defense system  The dynamics aspects where use to implement mechanism &#8220;right defense at the right time&#8221;. He describe real life problems with messages encryption, power management and sensor localization. The localization problem comes from that GPS do works only on open space. Thanks to aspects they provide sensor communication protocol. Also power management was treated as crosscutting issue and John describe protocols they develop for this propose. The final John thought is : &#8220;Flexibility offered by Dynamic AOP has great potential&#8221;.<br />
I went to demo sessions, there was two demos, the first one is out of my interests, the second was quite interesting and open my eyes. I thought that JDK classes and aspect are not woven because of security reasons (this is what AspectJ team claims). Now I know that this issue is due to bootstrap classloader. It makes impossible to wave aspect to for example String class. The demo was about the tool which can do it. There are tools for that purpose called <a href="http://www.inf.unisi.ch/projects/ferrari/MAJOR.html">MAJOR </a>and CARAJillo, one limitation of this tools is that JVM classes can only be woven statically. Great stuff.</p>
<p>Industry Panel was about &#8220;Challenges and Roadmap for Using AOSD in Industry&#8221;. The panel was rather boring. It was very slow and some trash talking: &#8220;it not easy to adopt new things to industry&#8221;, &#8220;risk management&#8221;, &#8220;academic solution doesn&#8217;t scale&#8221;, &#8220;no trust for aspect&#8221;,  &#8220;company policies &#8221; and so on. Finally one of the panelist said that &#8220;Why we should use aspects if OOP currently works well&#8221;.There was few examples of industry usage from Accenture and Siemens.</p>
<p>Another demo session, two quite nice demos. First Lavash quite interesting probably not so aspect oriented framework of tools to automatic requirements processing. The second is in early stage and was about suggestion pointcut modification as we write new code. This may be very interesting tool in the future to keep programmers from silly mistakes. I will <a href="http://code.google.com/p/rejuvenate-pc/">keep eye on it</a>.</p>
<p>Industry session was more likely as panel. One good tough was that academic researcher should provide tools to make aspects fully testable. There was another aspect language proposal called &#8220;e&#8221; which mainly differs from AspectJ that AspectJ is focus on classes and &#8220;e&#8221; language on units. The session was improved by Uwe Hohenstein from Siemes. Uwe shows real project usage of aspects. Despite obvious examples such as connection pool monitoring,  performance monitoring. Siemens use aspect to address challenges of integrating 3rd party software in a maintainable manner keeping 3rd party software untouched. Most of the examples comes from <a href="http://www.medical.siemens.com/webapp/wcs/stores/servlet/CategoryDisplay~q_catalogId~e_-1~a_categoryId~e_1018068~a_catTree~e_100010,1008631,1018465,1017717,1018019,1018068~a_langId~e_-1~a_storeId~e_10001.htm">Siemens Soarian project</a>.</p>
<p>The last day came so quickly. AOSD is high level rather academic conference, but we should learn from the best.</p>
]]></content:encoded>
			<wfw:commentRss>http://pietrowski.info/2009/03/aosd-finally-thoughts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AOSD Conference Day</title>
		<link>http://pietrowski.info/2009/03/aosd-conference-day/</link>
		<comments>http://pietrowski.info/2009/03/aosd-conference-day/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 14:55:53 +0000</pubDate>
		<dc:creator>pedro</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://pietrowski.info/?p=139</guid>
		<description><![CDATA[The conference was started by Keynote. Paul Daugherty from Accenture talk about cost, and how they try to reduce it. 91 from top 100 companies are Accenture&#8217;s clients. They have consultants on every place in The Earth. He told that about 60% of cost goes to maintenance and keep live system. The solution is to [...]]]></description>
			<content:encoded><![CDATA[<p>The conference was started by Keynote. Paul Daugherty from Accenture talk about cost, and how they try to reduce it. 91 from top 100 companies are Accenture&#8217;s clients. They have consultants on every place in The Earth. He told that about 60% of cost goes to maintenance and keep live system. The solution is to use many different techniques as SOA architecture and Aspect Oriented Programming. Quite interesting and based on real example speech.<br />
Next three papers was presented: Dependent Advice, Generic and Reflective Debugging Architecture and Expressive Scoping of Distributed AOP.  From my point of view the best of them was Generic and Reflective Debugging Architecture. Wouter has showed us problems when we must debugging system with aspect and where is the gap between program model and JVM TI. They write common aspect abstraction and it nearly ready for use. Great job.</p>
<p>After Lunch I went to Demo sessions. First demo was quite interesting made by Siemens. Product Lines  &#8211; features as aspects was about deliver features as crosscutting concerns implemented as aspects. Often our product is deliver to different client, and must get special features. Implementing this features as aspects can help us to keep product dependencies low and to deliver high quality software.<br />
Next demo &#8220;Building a next generation digital news publishing&#8221; shows how introducing aspect helps to refactor and simplify code base. The problem was that news are deliver to different consumers (RSS, WWW, subscribers etc.) By using aspect they keep one source of news and many different consumers.</p>
<p>After break I saw demo &#8220;Druid &#8211; unexpected interaction detection&#8221;, it mangos the problem when introducing aspects can break other module tests. They make topological sort of modules and than executing junit tests, checking if something break if so, they provide special metadata. This metadata build graph about dependencies and unexpected interaction.  It may be used also to detects if every feature in module has it&#8217;s own test. The work is workable plugin for eclipse. The better integration between TDD and AOP. I talk with Andre Restivo and if you want to provide version for NetBeans or InteliJ feel free to contact with Andre. There is some kind of console magic so the plugin actually work only on Linux but should be no problem to port for OSX. There are some problems but you can<a href="github.com/arestivo/druid"> download and try it</a> now. I think that I will try to write port for InteliJ.</p>
<p>Last demo was funny, we have Frontend team which claims that Frontend will rule the Earth. Demo was about &#8220;AOSJ &#8211; aspect oriented programming framework for JavaScript&#8221; very interesting idea <img src='http://pietrowski.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The next day begin. Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://pietrowski.info/2009/03/aosd-conference-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AOSD &#8211; Part One</title>
		<link>http://pietrowski.info/2009/03/aosd-part-one/</link>
		<comments>http://pietrowski.info/2009/03/aosd-part-one/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 16:42:06 +0000</pubDate>
		<dc:creator>pedro</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[aspect]]></category>

		<guid isPermaLink="false">http://pietrowski.info/?p=138</guid>
		<description><![CDATA[This year I choose as my conference 8th International Conference on Aspect-Oriented Software Development it is rather no commercial conference, and now I know it&#8217;s for sure not commercial, probably I&#8217;m only one from industry, other fellows are from Universities and so on. It is amazing experience. First the trip from New York to Charlottesville, [...]]]></description>
			<content:encoded><![CDATA[<p>This year I choose as my conference <a href="http://www.aosd.net/2009">8th International Conference on Aspect-Oriented Software Development</a> it is rather no commercial conference, and now I know it&#8217;s for sure not commercial, probably I&#8217;m only one from industry, other fellows are from Universities and so on. It is amazing experience.</p>
<p>First the trip from <a href="http://www.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=New+York,+JFK&amp;sll=52.158942,21.02781&amp;sspn=0.005568,0.013819&amp;g=Wiolinowa,+Warszawa,+Poland&amp;ie=UTF8&amp;ll=40.646262,-73.788128&amp;spn=0.055095,0.11055&amp;z=13">New York</a> to <a href="http://www.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Charlottesville&amp;sll=40.646262,-73.788128&amp;sspn=0.055095,0.11055&amp;g=New+York,+JFK&amp;ie=UTF8&amp;ll=38.057553,-78.489418&amp;spn=0.107861,0.2211&amp;z=12&amp;iwloc=addr">Charlottesville</a>, was quite interesting, when I will be back home I will publish this trip. Then the first day, it was a lot of good talk, from time to time there was hard time (e.g. type systems), next we have discussion about Aspect Oriented adoption in industry. From this discussion I&#8217;ve got some great ideas to realize, we&#8217;ll see.</p>
<p>The first day I mainly participated in <a href="http://www.eecs.ucf.edu/FOAL/index-2009.shtml">Foundations of Aspect-Oriented Languages</a> workshop, probably the closest to my interests was<a href="http://www.cs.uwm.edu/~mbendary/"> Mohamed ElBendary</a> from University of Wisconsin Milwaukee paper presentation.  The most impressive person from my point of view was <a href="http://wwwhome.cs.utwente.nl/~aksit/">Mehmet Akşit</a> from University of Twente. It gives quite nice talk about history of programming, and he has so many papers that I will spend another year to try to read them all. We&#8217;ve finished with Open session leaded by <a href="http://www.cs.technion.ac.il/~katz/">Shmuel Katz</a> from Technion–Israel Institute of Technology.</p>
<p>The second day I had hard choose between Workshop on <a href="http://www.cs.toronto.edu/~nn/EA09/">Early Aspects</a> and 4th <a href="http://dsal.dcc.uchile.cl/2009/">Domain-Specific Aspect Languages</a> Workshop and finally I choose Early Aspects because it was more difficult so another workshop I will have occasion to read by myself.  I was right, it was hard, probably due to fact that I rather far from modeling and aspect there is some kind of magic for me.</p>
<p>So BPM with Aspect, Dependencies Graph and so on was hard. On the rescue  Mehmet comes with real application example for the Netherlands government. It was about traffic system, and Mehmet tells about it in details. It was worth to here this talk as we can teach from that that we should find crosscutting concerns on early stages of software development process, otherwise we don&#8217;t use the power of aspects.<br />
And finally my time comes, Birds of a Feather with JBoss AOP. It was very good speech made by Kabir Khan<br />
and Flavia Rainone from JBoss. They talk about details of <a href="http://jboss.org/jbossaop">JBoss AOP</a>, about new features, plans and problems with new Microkernel based on OSGi. Currently JBoss AOP is the most advanced AOP implementation for day to day use. So you find more on this blog about it soon.<br />
The conference have just started, but the level is still high, many papers and smart people. It is good to be here.</p>
]]></content:encoded>
			<wfw:commentRss>http://pietrowski.info/2009/03/aosd-part-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
