Receive and Share Override Completions with Codetrails Connect 1.1

We are very excited to bring you our first major update to Codetrails Connect: Version 1.1 lets you see which methods other developers have frequently overridden, allowing you to quickly insert those that matter.

Besides the obvious speed boost you also get an idea of which methods you propably need to override; maybe just reminding you that equals() and hashcode() are usually overridden together.

Eclipse Code Recommenders 2.0 M1 – all signals green...

Those of you who follow Code Recommenders for quite some time already, know that its first major release is a little bit more than a year ago. And it was a fantastic year! In that year Code Recommenders made it from almost nothing into the Top 20 of the most favorited Eclipse plugins on the Eclipse Marketplace (vote for it here if you haven’t yet), and as part of the Eclipse for Java Developers, Eclipse for RCP/RAP Developers, and finally the Eclipse for DSL Developers packages, it served an innumerable number of code complete requests (although not activated by default, Recommenders’ model index is one of the top 50 most requested files served from in August). 

Give these numbers, it’s amazing how few bug reports we received in that period. Although this may mean that there are still people out there that do not know about Code Recommenders, we lean towards saying that we were doing quite well for a 1.0 :-)

But standing still is no option. There is still too much time developers waste with complex APIs and we still have a mission to accomplish: Going IDE 2.0! So, here is what’s going on in Recommenders.

Codetrails Connect 1.0.2 & New statistics on how you're using Java APIs

We have released version 1.0.2 of Codetrails Connect today which adds support for recommending static parameterized (generic) methods. Be sure to update to this latest version. 

As we mentioned in a previous post, the Codetrails Connect Community is going strong, quickly aggregating the experience of a multitude of developers willing to share their knowledge about Java APIs. As of this writing, we have collected 8207 call completion events, as well as 791 constructor completion events. So let’s have a closer look at some of the data you shared.

Mining intelligent code recommendations just got easier: [ctrl]flow Miner 0.8 released

Codetrails’s [ctrl]flow Miner offers a flexible command line interface that allows you to adjust your data-mining job to your needs. To make these configurations even easier, we've just released Version 0.8 of the [ctrl]flow Miner with a handy configuration wizard.

Maven Tycho: How to configure your repositories’ mirror and statistics URIs

We at Codetrails build all our software, be it Eclipse Code Recommenders, the [ctrl]flow Miner, or Codetrails Connect, with the help of Apache Maven and Eclipse Tycho. And this works great! A simple mvn clean install produces a p2 repository (aka an update site) ready to be consumed by Eclipse. Recently, however, we needed two features of p2 repositories that are (yet) unsupported by Tycho: p2.statsURI and p2.mirrorsURL. And apparently we are not the only ones in need of these features, as Bugs 310132, 341744, and 401960 as well as numerous posts to the tycho-user mailing list can attest.

Luckily, there exists a straight-forward if well-hidden workaround that allows you to configure both download statistics and mirrors in the repositories’ metadata.

Connect to your Colleagues – with Codetrails Connect

After several months of public beta testing and over 8,000 code-completion events contributed by the Eclipse community, we are proud to announce that the Codetrails Connect Community Edition has finally arrived at the Eclipse Marketplace.

What is Codetrails Connect?

Codetrails Connect seamlessly brings together code completion and crowd-sourcing. Whenever you and your colleagues work with an API, the experience gained is shared amongst the entire team. This is made possible by a crowd-sourced code completion we term Hippie Completion. If you select a method or constructor, for example, then this information is shared immediately with the Eclipse community (subject to your privacy settings, of course) or, if you have signed-up for the Private Edition, with just your teammates. The next time a developer triggers code completion in a similar situation, the shared information will guide that developer towards the selection most appropriate to the situation. In this way, you benefit from the experience of other developers – and they from yours. Codetrails Connect is an effective way to spread the knowledge about how to best use new APIs throughout your team: constantly, immediately, one Ctrl+Space at a time…

Google Summer of Code (Recommenders)

The Google Summer of Code 2013 is well underway. This year we are very lucky to have five students contributing to Eclipse Code Recommenders. Congratulations to each of them for being accepted into the program.

While the “pencils down” date of September 16th is still two months out, good progress has been made already. So let me take this opportunity to briefly introduce the students and their respective projects at Code Recommenders.

Woodstock: A Crowd-Sourced Hippie Completion for your Eclipse IDE

Imagine all the people
Sharing all the world.

—John Lennon

As part of the Codetrails Crowd Recommendation Tools, we have recently released our take on Hippie (Code) Completion, just in time for this summer’s Eclipse DemoCamps. But what is Hippie Completion and how can sharing make Eclipse’s code completion more intelligent?

An Introduction to Bayesian Networks with Jayes

At Eclipse Code Recommenders, most of our recommendation engines use Bayesian Networks, which are a compact representation of probability distributions. They thus serve to express relationships between variables in a partially observable world. Our recommenders use these networks to predict what the developer wants to use next, based on what he has done previously.

When the Code Recommenders project first started, there was a need for a new open-source, pure-Java bayesian network library. As part of my bachelor thesis, I created such a library, called Jayes. Jayes has since become the backend of most Code Recommenders’ recommendation engines. Its development continues and a new version of Jayes will be included in the upcoming Code Recommenders 2.0.

This post describes how to use Jayes for your own inference tasks.