<?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:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;CE4NRn4yfyp7ImA9WhBSFE4.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901</id><updated>2013-02-21T08:49:57.097+01:00</updated><category term="erlide internals" /><category term="eclipse" /><category term="erlide" /><category term="funny" /><category term="general" /><category term="erlang" /><category term="life" /><category term="announcements" /><title>Subtle Shift In Emphasis</title><subtitle type="html">thoughts, ideas and ramblings about software development</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>18</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/VladsBitsAndPieces" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="vladsbitsandpieces" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEACQX09fip7ImA9WhBSFE4.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-4178209731722075197</id><published>2013-02-21T08:46:00.000+01:00</published><updated>2013-02-21T08:46:00.366+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-21T08:46:00.366+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><title>erlide blog moved to erlide.org</title><content type="html">There's not been a lot of activity on this blog, but for the benefit for all that did read it after all, I moved the erlide-related stuff to the &lt;a href="http://erlide.org/"&gt;erlide.org site&lt;/a&gt;, where it fits better. I copied a couple of old posts that are still somewhat relevant and I will try to keep posting updates.&lt;br /&gt;
&lt;br /&gt;
If anyone has suggestions for topics of interests, please let me know.&lt;br /&gt;
&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=msixB_rz-Cs:EjF_oWuQKcs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=msixB_rz-Cs:EjF_oWuQKcs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=msixB_rz-Cs:EjF_oWuQKcs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/msixB_rz-Cs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/4178209731722075197/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=4178209731722075197" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/4178209731722075197?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/4178209731722075197?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2013/02/erlide-blog-moved-to-erlideorg.html" title="erlide blog moved to erlide.org" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ck4DQHs6fyp7ImA9Wx9UEUs.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-2153605388062837756</id><published>2011-02-08T11:29:00.000+01:00</published><updated>2011-02-08T11:29:31.517+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-08T11:29:31.517+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide internals" /><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><title>Improving erlide project structure</title><content type="html">[cross-posted from the &lt;a href="mailto:eride-devel@lists.sourceforge.net"&gt;erlide-devel&lt;/a&gt; mailing list]&lt;br /&gt;
&lt;br /&gt;
We have discovered that it is more and  more difficult for us to introduce new features in erlide without breaking  anything and realized that one of the reasons is because assumptions  about the project structure are spread throughout the code and some  times are even implicit. New features that don't follow these  assumptions get weird errors and when the apparent problem is fixed,  other problems appear in other parts.&lt;br /&gt;
&lt;br /&gt;
The way to improve the situation is by:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;getting a picture of what we'd like things to work like&lt;/li&gt;
&lt;li&gt;using unit tests as "live specifications" for the desired functionality. Note that this is slightly different than introducing unit tests for current functionality.&lt;/li&gt;
&lt;li&gt;changing the code in small steps until it conforms to the tests/spec&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
There  should be only one source of information in the system - the model of  the projects and of the source code. The basic model should be possible  to extend by extra tools (for example, a test framework may specify  additional source code directories). These tools might also specify  their own processing of the sources (for example, a coverage tool might  require special arguments for the compiler; or a code-generation tool  might require a script to be executed before compilation). The basic  model should not have to be changed to accommodate for these extensions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More about this later.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=taYplRhUbaU:d18XFxsJhVM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=taYplRhUbaU:d18XFxsJhVM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=taYplRhUbaU:d18XFxsJhVM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/taYplRhUbaU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/2153605388062837756/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=2153605388062837756" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2153605388062837756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2153605388062837756?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2011/02/improving-erlide-project-structure.html" title="Improving erlide project structure" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>6</thr:total></entry><entry gd:etag="W/&quot;DkIMQH47eCp7ImA9Wx5RGEg.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-2197430857212450906</id><published>2010-08-26T22:29:00.000+02:00</published><updated>2010-08-26T22:29:41.000+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-26T22:29:41.000+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="general" /><title>Mikado method to help refactorings</title><content type="html">I found a very interesting method described at &lt;a href="http://mikadomethod.wordpress.com/"&gt;http://mikadomethod.wordpress.com/&lt;/a&gt; about how to decompose a large refactoring into manageable chunks, so that it can be done safely (code is never broken).&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=4-55Isk_5N0:5TEM08grurw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=4-55Isk_5N0:5TEM08grurw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=4-55Isk_5N0:5TEM08grurw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/4-55Isk_5N0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/2197430857212450906/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=2197430857212450906" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2197430857212450906?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2197430857212450906?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2010/08/mikado-method-to-help-refactorings.html" title="Mikado method to help refactorings" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0EMRHo-fip7ImA9WxFUEko.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-8592918924804479917</id><published>2010-06-23T08:48:00.000+02:00</published><updated>2010-06-23T08:48:05.456+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-23T08:48:05.456+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><title>Eclipse 3.6 is here</title><content type="html">The Helios release train is here and with it the new Marketplace that allows users to install plug-ins in the comfort of their homes... er, cubicles. Of course, Erlide 0.8.4 is available from there too!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=SMEpxQpdztE:kENPb9U_rZI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=SMEpxQpdztE:kENPb9U_rZI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=SMEpxQpdztE:kENPb9U_rZI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/SMEpxQpdztE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/8592918924804479917/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=8592918924804479917" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/8592918924804479917?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/8592918924804479917?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2010/06/eclipse-36-is-here.html" title="Eclipse 3.6 is here" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>9</thr:total></entry><entry gd:etag="W/&quot;Ak4MSXw_eip7ImA9WxFVGUo.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-5632723710582030890</id><published>2010-06-19T22:23:00.000+02:00</published><updated>2010-06-19T22:23:08.242+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-19T22:23:08.242+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><title>Erlide update site upgraded</title><content type="html">The regular update site at &lt;a href="http://erlide.org/" target="_new"&gt;http://erlide.org&lt;/a&gt;  has been updated to the now not so new p2 update manager format. Only  the latest 0.8.3 build is available there.&lt;br /&gt;
&lt;br /&gt;
Older stable releases are to be found at &lt;a href="http://erlide.org/update_classic" target="_new"&gt;http://erlide.org/update_classic&lt;/a&gt;,  if you need one of those.&lt;br /&gt;
&lt;br /&gt;
This is so that we can appear on the Eclipse marketplace, which will be  integrated in Eclipse in the upcoming 3.6 version.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=5TdEsr_fbt8:25U5HOCzQ6s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=5TdEsr_fbt8:25U5HOCzQ6s:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=5TdEsr_fbt8:25U5HOCzQ6s:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/5TdEsr_fbt8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/5632723710582030890/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=5632723710582030890" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/5632723710582030890?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/5632723710582030890?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2010/06/erlide-update-site-upgraded.html" title="Erlide update site upgraded" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>5</thr:total></entry><entry gd:etag="W/&quot;CEMFSHc7cSp7ImA9WxFVGUs.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-3627969041742710454</id><published>2010-06-19T00:00:00.003+02:00</published><updated>2010-06-19T17:46:59.909+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-19T17:46:59.909+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><title>Retrieving a feature's version number in Eclipse</title><content type="html">I wanted to print in the log my feature's version number, but was stumped because features aren't OSGi bundles and there wasn't an obvious way to find them. After realizing that the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;About&lt;/span&gt; dialog displays the features, I looked at its code and extracted this snippet:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="java" name="code"&gt;IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
if (providers != null) {
  for (IBundleGroupProvider provider : providers) {
    IBundleGroup[] bundleGroups = provider.getBundleGroups();
      for (IBundleGroup group : bundleGroups) {
        if (group.getIdentifier().equals(featureId)) {
          version = group.getVersion();
        }
      }
    }
  }
}
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=ZEmKQZEIeBk:2lYHqxas96M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=ZEmKQZEIeBk:2lYHqxas96M:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=ZEmKQZEIeBk:2lYHqxas96M:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/ZEmKQZEIeBk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/3627969041742710454/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=3627969041742710454" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/3627969041742710454?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/3627969041742710454?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2010/06/retrieving-features-version-number-in.html" title="Retrieving a feature's version number in Eclipse" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0EBR3w8fyp7ImA9WxFQFk0.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-8004721325275134459</id><published>2010-05-11T21:20:00.001+02:00</published><updated>2010-05-11T21:20:56.277+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-11T21:20:56.277+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="funny" /><category scheme="http://www.blogger.com/atom/ns#" term="general" /><title>History of programming</title><content type="html">A hilarious post about the history of programming languages: &lt;a href="http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html"&gt;http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html&lt;/a&gt;.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=NNJwBJiJ3GU:XBlcjbp2CpE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=NNJwBJiJ3GU:XBlcjbp2CpE:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=NNJwBJiJ3GU:XBlcjbp2CpE:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/NNJwBJiJ3GU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/8004721325275134459/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=8004721325275134459" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/8004721325275134459?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/8004721325275134459?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2010/05/history-of-programming.html" title="History of programming" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Dk4BQH8-cCp7ImA9WxNWFE4.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-3047657482035642466</id><published>2009-10-13T13:51:00.003+02:00</published><updated>2009-10-13T13:55:51.158+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T13:55:51.158+02:00</app:edited><title>Google Wave invitation!</title><content type="html">I had lost hope that I would make it among the Wave beta testers, but it looks that it just took that long for them to get to the bottom of the list! :-) So now I have an account, I can give it a spin and I'll have to come up with some cool ideas for applications.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=I-w-e1E_UHM:gXAoD0FfKNI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=I-w-e1E_UHM:gXAoD0FfKNI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=I-w-e1E_UHM:gXAoD0FfKNI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/I-w-e1E_UHM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/3047657482035642466/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=3047657482035642466" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/3047657482035642466?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/3047657482035642466?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/10/google-wave-invitation.html" title="Google Wave invitation!" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;CUcMQng9fyp7ImA9WxNSFE0.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-4980957080559130026</id><published>2009-08-26T09:34:00.009+02:00</published><updated>2009-08-27T21:58:03.667+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-27T21:58:03.667+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><category scheme="http://www.blogger.com/atom/ns#" term="erlang" /><title>Towards erlIDE 2.0: it's not only about code</title><content type="html">&lt;u&gt;&lt;b&gt;&lt;/b&gt;&lt;/u&gt;I've been sketching some ideas for erlIDE 2.0 &lt;a title="http://vladdu.blogspot.com/2009/04/towards-erlide-20-service-oriented.html" href="http://vladdu.blogspot.com/2009/04/towards-erlide-20-service-oriented.html" id="i2aq"&gt;before&lt;/a&gt;, but that was only about the tools needed to handle the source code. Writing code is of course an important part of the development process. In other languages, it is one of the two pillars, the other one being debugging the code. Erlang, however, is different: &lt;span style="font-style: italic;"&gt;an Erlang system is &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt; &lt;/span&gt;&lt;i style="font-weight: bold; font-style: italic;"&gt;alive&lt;/i&gt;, and thus it's just as important to be able to architect and monitor it.&lt;br /&gt;&lt;br /&gt;Of course these activities could be placed under the two other categories, but I dare to claim that they are sufficiently different from "normal" coding and "normal" debugging that they can stand on their own.&lt;br /&gt;&lt;br /&gt;"What's the fuss about? We have that already!" I hear someone mutter there in the back. Um, yes, sort of. There are tools to visualize the process structure, but IMHO they are far from what they can be. There are no tools to help with the architecture of the system and there are almost none to watch it running. Here are some examples:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;visualize and edit the supervisor structure as well as the links and monitors between processes. With a graphical tool, I mean something like right click and add a child, drag and drop from it to create a link to another process, mark the process as trapping exits, and so on. This would of course get saved into the appropriate code modules. &lt;/li&gt;&lt;li&gt;freeze execution of all application processes and inspect them without fearing that timeouts will kill them&lt;/li&gt;&lt;li&gt;"sandboxes" for processes, allowing all to be killed and the application restarted without affecting unrelated processes&lt;br /&gt;&lt;/li&gt;&lt;li&gt;trace messages live, at full or reduced speed or step-by-step. This could also be done offline, from the logs, but then the processes' data can't be accessed.&lt;/li&gt;&lt;/ul&gt;Some of these features require extensive support from the VM, so it becomes a matter of how useful these tools will prove themselves at paying customer's site. Which is difficult to find out before having a tool to test, but I am hopeful that there will be a way out of the deadlock (maybe we can build a good enough tool without VM support to use as demo).&lt;br /&gt;&lt;br /&gt;I will explore this path further, I think we can get more developer productivity gains from this kind of tooling than from the usual coding and debugging support.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=NMuIhogTYZg:oBMwFOcVfPM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=NMuIhogTYZg:oBMwFOcVfPM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=NMuIhogTYZg:oBMwFOcVfPM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/NMuIhogTYZg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/4980957080559130026/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=4980957080559130026" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/4980957080559130026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/4980957080559130026?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/08/towards-erlide-20-its-not-only-about.html" title="Towards erlIDE 2.0: it's not only about code" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>10</thr:total></entry><entry gd:etag="W/&quot;D04BRn88eyp7ImA9WxJXF00.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-2365844210441341414</id><published>2009-06-11T09:38:00.001+02:00</published><updated>2009-06-11T09:39:17.173+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-11T09:39:17.173+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><category scheme="http://www.blogger.com/atom/ns#" term="announcements" /><title>erlIDE 0.6.3 supports R13B01</title><content type="html">We discovered that R13B01 created some incompatibilities and this release fixes them. There is also an assortment of small bug fixes (but not many, this time).&lt;br /&gt;&lt;br /&gt;Get it from &lt;a href="http://erlide.org/update" target="_new"&gt;http://erlide.org/update&lt;/a&gt;!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=jbOTy0Fqkzw:bwSK3OoLB18:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=jbOTy0Fqkzw:bwSK3OoLB18:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=jbOTy0Fqkzw:bwSK3OoLB18:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/jbOTy0Fqkzw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/2365844210441341414/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=2365844210441341414" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2365844210441341414?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2365844210441341414?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/06/erlide-063-supports-r13b01.html" title="erlIDE 0.6.3 supports R13B01" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>8</thr:total></entry><entry gd:etag="W/&quot;CkIDSH89cCp7ImA9WxJRFkk.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-734308762347331864</id><published>2009-05-18T11:28:00.001+02:00</published><updated>2009-05-18T11:56:19.168+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-18T11:56:19.168+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><category scheme="http://www.blogger.com/atom/ns#" term="announcements" /><title>erlIDE 0.6.1</title><content type="html">A maintenance release.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Fixed issues: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;322 &lt;/span&gt;Debugger - Keep debug context even if the process is killed (works in OTP debugger)    &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;150 &lt;/span&gt;Show multiple nodes in debug tree when debugging is distributed &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;343 &lt;/span&gt;debugger - breakpoints - group on type gives Others (type unspecified) &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;360 &lt;/span&gt;runtimes - add default runtime after installation of erlide &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;361 &lt;/span&gt;crash when indenting region with c-i when text contains tab &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;363 &lt;/span&gt;macro completion not working    &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;365 &lt;/span&gt;hover over non-folded comment shows popup &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;367 &lt;/span&gt;completion - better layout of documentation &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;369 &lt;/span&gt;command to reset scanner and parser caches &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;344 &lt;/span&gt;navigation - F3 goes wrong if call contains fun -&gt; a/1. &lt;br /&gt;plus some other minor bugs.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=5al1TULgxMQ:0k4IJOpkhug:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=5al1TULgxMQ:0k4IJOpkhug:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=5al1TULgxMQ:0k4IJOpkhug:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/5al1TULgxMQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/734308762347331864/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=734308762347331864" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/734308762347331864?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/734308762347331864?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/05/erlide-061.html" title="erlIDE 0.6.1" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>4</thr:total></entry><entry gd:etag="W/&quot;A0cCQ3g8eyp7ImA9WxJTGUU.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-392152685443898877</id><published>2009-04-29T09:06:00.004+02:00</published><updated>2009-04-29T09:11:02.673+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-29T09:11:02.673+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><category scheme="http://www.blogger.com/atom/ns#" term="announcements" /><title>erlIDE 0.6.0 released</title><content type="html">We are glad to announce version 0.6.0 of &lt;span style="font-weight: bold;"&gt;erlIDE&lt;/span&gt;, featuring a lot of fixed bugs and also&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Eclipse 3.4 only&lt;/li&gt;&lt;li&gt;Support for Erlang R13&lt;/li&gt;&lt;li&gt;Greatly improved debugger&lt;/li&gt;&lt;li&gt;Refactoring with Wrangler&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The full changelog can be found in the &lt;a href="http://erlide.svn.sourceforge.net/viewvc/erlide/tags/REL-0.6.0.200904281124/CHANGES?revision=2574&amp;amp;view=markup"&gt;CHANGES&lt;/a&gt; document.&lt;br /&gt;&lt;a href="http://erlide.svn.sourceforge.net/viewvc/erlide/tags/REL-0.6.0.200904281124/CHANGES?revision=2574&amp;amp;view=markup" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;If you encounter problems, please follow these steps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Go to &lt;span style="font-family:courier new;"&gt;Window-&gt;Preferences-&gt;Erlang-&gt;&lt;/span&gt;&lt;wbr  style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;Report problems&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Fill in a summary and a description of what you did when the problem occurred&lt;/li&gt;&lt;li&gt;Press "&lt;span style="font-family:courier new;"&gt;Send&lt;/span&gt;" and a file will be created in your home directory, attach it to a bug report at the tracker or to a mail to &lt;a href="mailto:erlide-bugs@lists.sourceforge.net"&gt;erlide-bugs@lists.sourceforge.&lt;wbr&gt;net&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div id=":x4" class="ii gt"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=hpPipXhH2S0:UKvVh8-gsDc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=hpPipXhH2S0:UKvVh8-gsDc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=hpPipXhH2S0:UKvVh8-gsDc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/hpPipXhH2S0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/392152685443898877/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=392152685443898877" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/392152685443898877?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/392152685443898877?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/04/we-are-glad-to-announce-version-0.html" title="erlIDE 0.6.0 released" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0IARHY5cCp7ImA9WxVaEE8.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-2451522719321496901</id><published>2009-04-06T12:52:00.007+02:00</published><updated>2009-04-06T15:45:45.828+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-06T15:45:45.828+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide internals" /><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><title>Towards erlide 2.0: a service-oriented approach</title><content type="html">&lt;span style="font-style: italic;"&gt;"What, you're not even have a 1.0 out and are already talking about 2.0?"&lt;/span&gt;, you ask. Well, yes! It's much more fun to think about the future!&lt;br /&gt;&lt;br /&gt;One of my goals has always been to have as much as possible of the functionality on the Erlang side.  This is simply because I prefer to code Erlang than Java. The reality of having to learn coding for Eclipse has made it difficult to pursue, one of the main reasons being that a lot of the boilerplate code is loaned from the Java Development Tools plug-in.&lt;br /&gt;&lt;br /&gt;We have been slowly refactoring functionality to Erlang, but for 2.0 I see a different approach: implement a code handling engine in Erlang that really could use anything as a GUI. The API will probably be heavily influenced by the Eclipse way, but I can live with that.&lt;br /&gt;&lt;br /&gt;So, what I have in mind is something like this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the GUI sends notifications when there some editing event&lt;/li&gt;&lt;li&gt;the engine keeps a representation of the document in memory&lt;/li&gt;&lt;li&gt;the document is linked to a lexical scanner and a parser, for each change these will update their model of the source file&lt;/li&gt;&lt;li&gt;a higher-level model willl keep track of dependencies between files and their changes&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Now, for the real work we will have extensible services, for example:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;lexical info: tokens at a given position/range, ...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;syntactic info: matching braces, ...&lt;/li&gt;&lt;li&gt;semantic info: language constructs at a given position (AST), ...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;search: find definitions and uses of variables/functions/macros/records, ...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;indentation&lt;br /&gt;&lt;/li&gt;&lt;li&gt;formatting&lt;/li&gt;&lt;li&gt;completion&lt;br /&gt;&lt;/li&gt;&lt;li&gt;annotations: warnings/errors from different tools (compiler, dialyzer,...)&lt;/li&gt;&lt;li&gt;refactoring&lt;/li&gt;&lt;li&gt;...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The GUI will use these services and render them in an appropriate way, and of course will convert user input into the respective queries to these services.&lt;br /&gt;&lt;br /&gt;Some of this functionality is already in place, but there's a lot of duplication and uncoordinated work. It's this that needs to get cleaned up.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=2IR5iHswq3c:zUWUP8lMSZw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=2IR5iHswq3c:zUWUP8lMSZw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=2IR5iHswq3c:zUWUP8lMSZw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/2IR5iHswq3c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/2451522719321496901/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=2451522719321496901" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2451522719321496901?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2451522719321496901?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/04/towards-erlide-20-service-oriented.html" title="Towards erlide 2.0: a service-oriented approach" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;Dk8NQ3w7cSp7ImA9WxVbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-2991943079896882088</id><published>2009-03-26T15:16:00.002+01:00</published><updated>2009-03-26T20:14:52.209+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-26T20:14:52.209+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="life" /><title>Book: The Ascent of Humanity (Charles Einsenstein)</title><content type="html">I just found this book, which I find very interesting. It can be read online at &lt;a href="http://www.ascentofhumanity.com/"&gt;http://www.ascentofhumanity.com/&lt;/a&gt;, but is available as a real book too.&lt;br /&gt;&lt;br /&gt;I won't spoil the read, but will only say it really got me thinking and I'm not yet even half way through it. The facts are not new, but are put together perfectly to illuminate the point, which is... Well, you read about it! :-)&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=f20Xso3bNLc:6GoQs85oauw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=f20Xso3bNLc:6GoQs85oauw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=f20Xso3bNLc:6GoQs85oauw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/f20Xso3bNLc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/2991943079896882088/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=2991943079896882088" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2991943079896882088?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2991943079896882088?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/03/book-ascent-of-humanity-charles.html" title="Book: The Ascent of Humanity (Charles Einsenstein)" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkYGQn8yfyp7ImA9WxVVGEg.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-6367330865908901810</id><published>2009-03-12T10:16:00.004+01:00</published><updated>2009-03-12T10:28:43.197+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-12T10:28:43.197+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide internals" /><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><title>erlIDE internals: What is a backend?</title><content type="html">The term "backend" is used often in erlIDE, but it might be unclear what it really means.&lt;br /&gt;&lt;br /&gt;What we call a backend is an Erlang runtime that we're connected to via an internal Java node. This connection requires some erlIDE code to be installed and running on the Erlang side.&lt;br /&gt;&lt;br /&gt;There are two kinds of backends: managed and standalone. Managed ones have their lifecycle controlled by erlIDE. Standalone ones use already started runtimes.&lt;br /&gt;&lt;br /&gt;Inside erlIDE, backends are used for several purposes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;for the IDE internals: scanning, parsing, etc. This is always a managed backend.&lt;/li&gt;&lt;li&gt;for compiling code&lt;br /&gt;&lt;/li&gt;&lt;li&gt;for running and debugging the applications&lt;/li&gt;&lt;/ul&gt;There are several reasons for having them separated. One is to isolate functionality (especially in early erlIDE varsions, it was easy to have the IDE hang for some crash in the builder, or the other way around). Another is that one might want to run the IDE on the latest and greatest Erlang version, but compile the project for some older version, while still testing it on all newer versions available.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=0DjHW5j001E:-6gBW_nrQEo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=0DjHW5j001E:-6gBW_nrQEo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=0DjHW5j001E:-6gBW_nrQEo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/0DjHW5j001E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/6367330865908901810/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=6367330865908901810" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/6367330865908901810?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/6367330865908901810?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/03/erlide-internals-what-is-backend.html" title="erlIDE internals: What is a backend?" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>5</thr:total></entry><entry gd:etag="W/&quot;DUQDQXw-eyp7ImA9WxVVFko.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-7390412670660089506</id><published>2009-03-09T14:08:00.010+01:00</published><updated>2009-03-10T10:29:30.253+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-10T10:29:30.253+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide internals" /><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><category scheme="http://www.blogger.com/atom/ns#" term="erlang" /><title>erlIDE internals: Introduction</title><content type="html">I think it would be interesting to describe some of the internal workings of erlIDE. There is no better way to clear up one's thoughts that trying to explain them to someone else. Besides, once there will be readers, I'm sure there will be many good suggestions!&lt;br /&gt;&lt;br /&gt;So, let's begin top-down.&lt;br /&gt;&lt;br /&gt;erlIDE is comprised of several parts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;jinterface&lt;/span&gt;: we extended the OTP library with some things we needed, like generating Erlang terms from string descriptions (sprintf-like) and simple pattern matching.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;the core&lt;/span&gt;: contains the management of Erlang runtimes and the model of the Erlang code. It includes services for scanning, parsing, compiling and evaluating Erlang code.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;the UI&lt;/span&gt;: handles the editors, views, preferences and other Eclipse UI stuff.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;We don't really want to write Java code, but since it's Eclipse we're talking about, there is little choice about that. But we can minimize the amount of Java by using Erlang as backend for our operations. So the main architectural vision is to let the Java part be only an adapter layer and implement in Erlang the core functionality. This will work well for the core functionality, but will be much more difficult for the UI parts.&lt;br /&gt;&lt;br /&gt;Okay, this is a beginning. More to come later, stay tuned!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=6crhQdJ6dhk:ms78Nc2yPMI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=6crhQdJ6dhk:ms78Nc2yPMI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=6crhQdJ6dhk:ms78Nc2yPMI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/6crhQdJ6dhk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/7390412670660089506/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=7390412670660089506" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/7390412670660089506?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/7390412670660089506?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/03/erlide-internals-introduction.html" title="erlIDE internals: Introduction" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUQGQ309eCp7ImA9WxVVFko.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-2870213011004276781</id><published>2009-03-09T12:47:00.004+01:00</published><updated>2009-03-10T10:28:42.360+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-10T10:28:42.360+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><category scheme="http://www.blogger.com/atom/ns#" term="announcements" /><category scheme="http://www.blogger.com/atom/ns#" term="erlang" /><title>Erlide 0.5.1 (unstable)</title><content type="html">This is the first release targeting Eclipse 3.4.&lt;br /&gt;&lt;br /&gt;The big news is that we are now including &lt;strong&gt;experimental&lt;/strong&gt; Wrangler refactoring support! György Orosz has put together the required Eclipse scaffolding and we will appreciate all the feedback we can get.&lt;br /&gt;&lt;br /&gt;Otherwise, there are some bugs that have been fixed, see the &lt;a title="ChangeLog" href="http://erlide.svn.sourceforge.net/viewvc/erlide/trunk/ChangeLog?revision=HEAD&amp;amp;view=markup"&gt;ChangeLog&lt;/a&gt; for details.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;/Vlad, Jakob and György&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=5wD7tQh6JF4:ztk2Muw_cVs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=5wD7tQh6JF4:ztk2Muw_cVs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=5wD7tQh6JF4:ztk2Muw_cVs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/5wD7tQh6JF4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/2870213011004276781/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=2870213011004276781" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2870213011004276781?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/2870213011004276781?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/03/erlide-051.html" title="Erlide 0.5.1 (unstable)" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUQHRXs-cCp7ImA9WxVVFko.&quot;"><id>tag:blogger.com,1999:blog-4827875185598255901.post-3534418434266337911</id><published>2009-03-09T12:28:00.006+01:00</published><updated>2009-03-10T10:28:54.558+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-10T10:28:54.558+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="erlide" /><category scheme="http://www.blogger.com/atom/ns#" term="announcements" /><category scheme="http://www.blogger.com/atom/ns#" term="erlang" /><title>Erlide 0.5.0 (stable) released!</title><content type="html">We have been working hard to fix bugs and add new functionality and today we are proud to be able to release version 0.5.0! Now you can do your Erlang development with less hassle, and the fun part is that there's a lot more to come in the pipeline.&lt;br /&gt;&lt;br /&gt;The Eclipse update site is at &lt;a href="http://erlide.org/update"&gt;http://erlide.org/update&lt;/a&gt; or &lt;a href="http://erlide.sourceforge.net/update"&gt;http://erlide.sourceforge.net/update&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those that have been using out unstable releases, there are only few new things. For the others, a list of some of the new things can be found in the &lt;a title="ChangeLog" href="http://erlide.svn.sourceforge.net/viewvc/erlide/tags/REL-0.5.0.200903041114/ChangeLog?revision=2267&amp;amp;view=markup"&gt;ChangeLog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;IMPORTANT&lt;/strong&gt;: Please note that &lt;span style="font-style: italic;"&gt;this is the last release that targets Eclipse 3.3&lt;/span&gt;. The answers (or more exactly, lack of) to our previous questions about which versions we should target tell us that everybody is running 3.4 or newer. If you're still stuck with 3.3 and will need continued support, please contact us.&lt;/blockquote&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;/Vlad and Jakob&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=Z8pExicBk_Y:bPZxV1DqUk4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?a=Z8pExicBk_Y:bPZxV1DqUk4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VladsBitsAndPieces?i=Z8pExicBk_Y:bPZxV1DqUk4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VladsBitsAndPieces/~4/Z8pExicBk_Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vladdu.blogspot.com/feeds/3534418434266337911/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4827875185598255901&amp;postID=3534418434266337911" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/3534418434266337911?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4827875185598255901/posts/default/3534418434266337911?v=2" /><link rel="alternate" type="text/html" href="http://vladdu.blogspot.com/2009/03/erlide-050-released.html" title="Erlide 0.5.0 (stable) released!" /><author><name>Vlad</name><uri>http://www.blogger.com/profile/01869814925129143426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/-0bXRR5VnKbQ/T82sjHy4ESI/AAAAAAAAAhc/dIEoX1sric8/s220/Dumitrescu_Vlad.jpg" /></author><thr:total>0</thr:total></entry></feed>
