Open IoT Challenge – Final submissions

by Benjamin Cabé at March 26, 2015 05:55 PM

The Open IoT challenge ended earlier this week, and it was pretty exciting to see the final submissions coming in the form of blog posts and video during the last hours before the deadline.

Below are the 10 projects who validated their participation to the challenge, together with the links to learn more about what they have built during the 2 months the challenge lasted. Exciting stuff!


The project aims to build an advanced monitoring car system, integrating the huge amount of sensors data from the car ECU (read by standard OBD-II interface) with smartphone sensors data (like GPS). A gateway (a Raspberry Pi with Kura OSGi framework) can collect the data, wrap them in a MQTT packet and finally send them to a remote MQTT server exploiting the 3G connection provided by the smartphone (the latter could be connected to the Raspberry Pi with bluetooth interface).

→ Read more:


IoNeeds basically measures fullness, light, temperature and humidity of storage boxes and jars continuously. It stores the data on cloud and when it encounters with extreme values, it applies the rules which previously configured on control panel such as sending SMS, Android/iOS notifications. Also it can be configured with e-commerce web sites’ order APIs. So it enables auto-order scenarios like “Automatically order the product from web if fullness value is under 50%”

→ Read more :

DIY Home Automation

A DIY “home automation” solution based on MQTT-SN, Node-RED, Arduino, Raspberry Pi and nRF24L01+ RF transceivers.

→ Read more:

Raspberry Pi R/C car

Program a remote controlled Raspberry Pi Robot car using Reactive Blocks.

→ Read more:, Internet of Plants

Keeping plants alive in an office without regular hours is hard: Either everybody thinks their colleagues have already watered the plants or multiple people water the same plant, resulting in either drought or overhydration.

→ Read more:

Hot Desking Dilemma

More and more companies offer their employees the possibility to work remote from home instead of working in the office. Hot desking – multiple employees share one desk over a week – is a common practice for such companies in order to reduce costs. People who know this setting also know the downsides of this model: it is just pretty hard to get a desk when you need one.

→ Read more:

LwM2M over MQTT

The current stack for LWM2M relies on CoAP as the protocol. Along with CoAP, MQTT is another standard which is being very widely used in M2M scenarios. Our solution involves development of an LWM2M server prototype, as well as, a client prototype, which make use of MQTT as the underlying M2M protocol. Thus LWM2M can be used for both CoAP, as well as, MQTT.

→ Read more:

Monitoring industrial automation

This project realizes a device that monitors a set of defined parameters (mapped to MODBUS registers on a device) and based on defined rule take action (store in internal memory, show as value or graph on local LCD or send using MQTT protocol to defined server). User is able to freely define mapping to MODBUS registers, poling interval, monitoring rules and actions).

→ Read more:

Smart Helmet

According to a survey, in India, 139,091 persons were killed in road accidents during the year 2012, out of which 23% constituted for Two-wheeler related incidents. The objective of the solution is to detect impact of the accident or fall occurred using the accelerometer mounted on the helmet.

→ Read more:

Monitoring snow and ice falling down of roofs

In Norway it is the responsibility of building owners to warn people of risk of snow and ice falling down from the roofs of buildings. It is a serious liability. Some years ago in Oslo, a pedestrian got paralyzed after a iceblock fell from a building and hit his head.

→ Read more:

by Benjamin Cabé at March 26, 2015 05:55 PM

Maven, Tycho, Surefire, AspectJ and Equinox Weaving

by Andreas Graf at March 26, 2015 02:33 PM

This is a very short technical post. But since it took us some time to find the solution (there is little information on the Web), we wanted to add another possible search hit for others.

JUnit tests from within Eclipse work well with AspectJ runtime weaving in Equinox. Finding information on how to activate the same in Maven Tycho surefire was more difficult.

You have to configure the surefireplugin to use the Equinox Weaving hook and start the AspectJ Weaving Bundle:


In addition, on command line configuration, you could pass debug information. We have set the property:
<aspectj.weavingargs>-Daj.weaving.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -Dorg.aspectj.osgi.verbose=true</aspectj.weavingargs>
and use it later on
<argLine>${tycho.surefire.vmargs} {aspectj.weavingargs} ... </argLine>

by Andreas Graf at March 26, 2015 02:33 PM

Eclipse Newsletter - Eclipse in Automotive

March 26, 2015 02:22 PM

In this newsletter, you will find an article about Eclipse in Automotive and two articles focusing on Almathea4public and Artop.

March 26, 2015 02:22 PM

Welcome Andrey Loskutov as a new eclipse.platform.ui Committer

by Lars Vogel at March 26, 2015 08:49 AM

I would like to welcome Andrey as new platform.ui committer. Andrey is a very active Eclipse tools developer who maintain popular Eclipse tools like the Eclipse Findbugs plug-in and AnyEdit. And now is is already the second most active developer of platform.ui takeling a bunch of critical and difficult issues.


Welcome Andrey!

See the message on the platform.ui mailing list. See also Andrey blog post about this topic.

by Lars Vogel at March 26, 2015 08:49 AM

Thoughts on running an open source program (via @TODOGroup)

by Chris Aniszczyk at March 25, 2015 06:05 PM

I recently posted on the @TODOGroup blog on why we run an open source program at Twitter:

Outside of just my experience, it’s been great to see other companies participating in this effort so you can hear from them too on running open source programs:

There should be more blog posts from us in the future about this topic, on top of us discussing other issues pertinent to companies working with open source communities.

Anyways, I hope you learned something new from these posts and if you’re a fan of company open source programs, please consider pushing your company or others to establish an official open source program or office. We all should give back as it’s in our best interest.

by Chris Aniszczyk at March 25, 2015 06:05 PM

FoundationDB and Open Source Foundations

by Chris Aniszczyk at March 25, 2015 03:29 PM

Just like any other day, I saw a funny tweet across my timeline this morning:

Not sure if you heard the news, but FoundationDB was a company/open source project around a NoSQL database. They recently were bought by a much larger company and decided to close down the project, including removing the source and binaries from distribution channels.

I don’t want to sound like a broken record, but open source foundations are really useful. As a consumer, it helps you ensure that there is an independent governance structure in place along with fair ownership of the code (usually the foundation). This means that code won’t disappear overnight since an independent entity owns it, along with the broader community. From a producer point of view, you can build diversity in ownership and committers which will help you in the long run in building a sustainable open source community.

Oh well, c’est la vie.

Quick update and nice set of genuine tweets from the CouchDB folks who saw the benefits of having the code exist at an open source foundation:

by Chris Aniszczyk at March 25, 2015 03:29 PM

speaking at MobileTechCon 2015

by ekkescorner at March 24, 2015 08:02 AM


This week at MobileTechCon I’m speaking about “Secure Workspaces” (Tuesday) and “Bluetooth in Business Apps” (Wednesday)

Secure Workspaces – Islands of Security

  • learn all about BYOD, COPE, COBO, Regulated, MDM, EMM and more
  • live demo BES12
  • get tips what’s important to know about BES12, Airwatch, Good, MobileIron, Samsung KNOX, Android for Work, …

MobileTechCon 2015-03-24, 16:15, Forum 15

Bluetooth in Business Apps

  • new workflows possible for enterprise workflows using iBeacons, Beacons, NFC, Bluetooth LE, ‘old’ Bluetooth
  • live demo Beacons and NFC
  • live demo two devices connected using SPP: Barcode Printer and FingerScanner

MobileTechCon 2015-03-25, 14:30, Forum 15

see you there

Filed under: BB10, Blackberry, Eclipse, mobile

by ekkescorner at March 24, 2015 08:02 AM

Andmore Nightly p2 Repository

by kingargyle at March 24, 2015 12:06 AM

Andmore now has a nightly p2 repository available for Adopters and third party tool providers to start making use.

This site should contain everything you need to install Andmore into an eclipse environment and start developing android applications.  It can also be used by add on providers to build off and extend Andmore to other tools.   As with all nightly sites, this could be unstable at times, but should be useable to help provide feedback to the project.

Please help kick the tires and provide feed to the project about what is working and what isn’t working.  We need and want your involvement to help improve eclipse android tooling.

by kingargyle at March 24, 2015 12:06 AM

JBoss Integration Stack Tooling - Kepler Update

by pleacu at March 23, 2015 04:16 PM

Just for you Kepler fans - an Eclipse Kepler update of your favorite Integration Stack tooling is now available.

jbosstools jbdevstudio blog header

What’s an Integration Stack?

JBoss Tools Integration Stack 4.1.7.Final / JBoss Developer Studio Integration Stack 7.1.0.GA

The Integration Stack for JBoss Tools Developer Studio is a set of plugins for Eclipse that provides integration tooling for the following frameworks.

JBoss Business Process and Rules Development

  • BPEL Designer - Orchestrating your business processes.

  • BPMN2 Modeler - A graphical modeling tool which allows creation and editing of Business Process Modeling Notation diagrams using graphiti.

  • Drools - A Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing.

  • jBPM - A flexible Business Process Management (BPM) suite.

JBoss Data Virtualization Development

  • Modeshape - A distributed, hierarchical, transactional and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. It is very fast, highly available, extremely scalable, and it is 100% open source.

  • Teiid Designer - A visual tool that enables rapid, model-driven definition, integration, management and testing of data services without programming using the Teiid runtime framework.

JBoss Integration and SOA Development

  • All of the Business Process and Rules Development plugins, plus…​

  • Fuse Apache Camel Tooling - A graphical tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, Apache Camel and the FuseSource distributions.

  • SwitchYard - A lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.

SOA 5.x Development

  • JBoss ESB - An enterprise service bus for connecting enterprise applications and services.

  • jBPM3 - A flexible Business Process Management (BPM) Suite - JBoss Enterprise SOA Platform 5.3.x compatible version.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.1 and Developer Studio 7.

What’s Been Updated?

Updates have been made to the Business Process tooling (BPMN2 Modeler, BPEL), Fuse Tooling and Data Virtualization tooling (Teiid Designer). See the JBDSIS 7.1.0 Release Notes

Released Tooling Highlights

BPEL Highlights

Bug Fixes
  • Cannot set date (deadline expression) in Wait and OnAlarm

Fuse Tooling Highlights

Bug Fixes
  • Hyperlinks in the Fuse Tooling help seem to be widely broken

For more specifics see

Fuse Tooling

See Lars Heinemann’s Blog for more insights.

The JBoss Tools website features tab

Don’t miss the Features tab for up to date information on your favorite Integration Stack components.


If you already have JBDSIS installed…​

Simply start jbdevstudio or eclipse-with-jbds, then:

Select Help > Check for Updates

Select the components you’d like to install from the available updates:

Check for Updates - JBoss Tools Integration Stack

If you’d like a fresh install…​

To install the Integration Stack tools, first install JBoss Developer Studio from the all-in-one installer, bundled and configured out of the box with everything you need to get started. Alternatively, if you already have eclipse-jee-kepler installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBDS

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view and look for the JBoss Developer Studio Integration Stack installation section. Select the items you’d like to install:

JBoss Central - JBoss Developer Studio Integration Stack

The standard p2 installer is available for JBoss Developer Studio Integration Stack. Simply start jbdevstudio or eclipse-with-jbds, then:

 Help > Install New Software...
       - use this for 'Location:' for the production integration stack:

The community JBoss Tools Integration Stack installation is easy as well. If you already have eclipse-jee-kepler installed, install JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBoss Tools

Once JBoss Tools is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 4.1.7.Final integration stack is available automatically. Select the items you’d like to install:

JBoss Central - JBoss Tools Integration Stack

The standard p2 installer is available for JBoss Tools Integration Stack. Simply start eclipse-with-jbt, then:

 Help > Install New Software...
       - use this for 'Location:' for the released-components integration stack:

Note: If you installed into your own Eclipse you should bump up the launch resource parameters:

--launcher.XXMaxPermSize 256m --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m

Let us know…​

Paul Leacu.

by pleacu at March 23, 2015 04:16 PM

RCP Testing Tool – Tutorial updated

by Jonas Helming at March 23, 2015 03:08 PM

Almost two years ago, I have created a basic tutorial for the UI testing tool “Q7”. In 2014, Q7 has been released as an open source project and been renamed to “RCP Testing Tool” (RCPTT). RCPTT is focused on creating and running UI/System test for RCP/SWT applications. It is an alternative or addition to the open source projects SWTBot or Jubula. All of them have their specific advantages and disadvantages, RCPTT uses a very different approach than that of SWTBot or Jubula. I updated my tutorial based on the latest version of RCPTT, it describes all basic steps to get started with RCPTT. It should also give you a good impression of how RCPTT works.

Please follow this link to get to the new tutorial.


Leave a Comment. Tagged with eclipse, rcp, testing, eclipse, rcp, testing

by Jonas Helming at March 23, 2015 03:08 PM

Scaling Yosemite

by Kim Moir ( at March 20, 2015 06:52 PM

We migrated most of our Mac OS X 10.8 (Mountain Lion) test machines to 10.10.2 (Yosemite) this quarter.

This project had two major constraints:
1) Use the existing hardware pool (~100 r5 mac minis)
2) Keep wait times sane1.  (The machines are constantly running tests most of the day due to the distributed nature of the Mozilla community and this had to continue during the migration.)

So basically upgrade all the machines without letting people notice what you're doing!

Yosemite Valley - Tunnel View Sunrise by ©jeffkrause, Creative Commons by-nc-sa 2.0

Why didn't we just buy more minis and add them to the existing pool of test machines?
  1. We run performance tests and thus need to have all the machines running the same hardware within a pool so performance comparisons are valid.  If we buy new hardware, we need to replace the entire pool at once.  Machines with different hardware specifications = useless performance test comparisons.
  2. We tried to purchase some used machines with the same hardware specs as our existing machines.  However, we couldn't find a source for them.  As Apple stops production of old mini hardware each time they announce a new one, they are difficult and expensive to source.
Apple Pi by ©apionid, Creative Commons by-nc-sa 2.0

Given that Yosemite was released last October, why we are only upgrading our test pool now?  We wait until the population of users running a new platform2 surpass those the old one before switching.

Mountain Lion -> Yosemite is an easy upgrade on your laptop.  It's not as simple when you're updating production machines that run tests at scale.

The first step was to pull a few machines out of production and verify the Puppet configuration was working.  In Puppet, you can specify commands to only run certain operating system versions. So we implemented several commands to accommodate changes for Yosemite. For instance, changing the default scrollbar behaviour, new services that interfere with test runs needed to be disabled, debug tests required new Apple security permissions configured etc.

Once the Puppet configuration was stable, I updated our configs so the people could run tests on Try and allocated a few machines to this pool. We opened bugs for tests that failed on Yosemite but passed on other platforms.  This was a very iterative process.  Run tests on try.  Look at failures, file bugs, fix test manifests. Once we had to the opt (functional) tests in a green state on try, we could start the migration.

Migration strategy
  • Disable selected Mountain Lion machines from the production pool
  • Reimage as Yosemite, update DNS and let them puppetize
  • Land patches to disable Mountain Lion tests and enable corresponding Yosemite tests on selected branches
  • Enable Yosemite machines to take production jobs
  • Reconfig so the buildbot master enable new Yosemite builders and schedule jobs appropriately
  • Repeat this process in batches
    • Enable Yosemite opt and performance tests on trunk (gecko >= 39) (50 machines)
    • Enable Yosemite debug (25 more machines)
    • Enable Yosemite on mozilla-aurora (15 more machines)
We currently have 14 machines left on Mountain Lion for mozilla-beta and mozilla-release branches.

As a I mentioned earlier, the two constraints with this project were to use the existing hardware pool that constantly runs tests in production and keep the existing wait times sane.  We encountered two major problems that impeded that goal:

It's a compliment when people say things like "I didn't realize that you updated a platform" because it means the upgrade did not cause large scale fires for all to see.  So it was a nice to hear that from one of my colleagues this week.

Thanks to philor, RyanVM and jmaher for opening bugs with respect to failing tests and greening them up.  Thanks to coop for many code reviews. Thanks dividehex for reimaging all the machines in batches and to arr for her valiant attempts to source new-to-us minis!

1Wait times represent the time from when a job is added to the scheduler database until it actually starts running. We usually try to keep this to under 15 minutes but this really varies on how many machines we have in the pool.
2We run tests for our products on a matrix of operating systems and operating system versions. The terminology for operating system x version in many release engineering shops is a platform.  To add to this, the list of platform we support varies across branches.  For instance, if we're going to deprecate a platform, we'll let this change ride the trains to release.

Further reading
Bug 1121175: [Tracking] Fix failing tests on Mac OSX 10.10 
Bug 1121199: Green up 10.10 tests currently failing on try 
Bug 1126493: rollout 10.10 tests in a way that doesn't impact wait times
Bug 1144206: investigate what is causing frequent talos failures on 10.10
Bug 1125998: Debug tests initially took 1.5-2x longer to complete on Yosemite

Why don't you just run these tests in the cloud?
  1. The Apple EULA severely restricts virtualization on Mac hardware. 
  2. I don't know of any major cloud vendors that offer the Mac as a platform.  Those that claim they do are actually renting racks of Macs on a dedicated per host basis.  This does not have the inherent scaling and associated cost saving of cloud computing.  In addition, the APIs to manage the machines at scale aren't there.
  3. We manage ~350 Mac minis.  We have more experience scaling Apple hardware than many vendors. Not many places run CI at Mozilla scale :-) Hopefully this will change and we'll be able to scale testing on Mac products like we do for Android and Linux in a cloud.

by Kim Moir ( at March 20, 2015 06:52 PM

JBoss Developer Studio 8.1.0.CR1 and JBoss Tools 4.2.3.CR1

by akazakov at March 20, 2015 06:03 PM

We would like to announce Red Hat JBoss Developer Studio 8.1.0 CR1 and JBoss Tools 4.2.3 CR1 is now available.

jbosstools jbdevstudio blog header


Red Hat JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it and install it like this:

java -jar jboss-devstudio-{version}-installer-{standalone|eap}.jar

JBoss Tools or JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) requires a bit more:

This release requires at least Eclipse 4.4 (Luna) but we recommend using the Eclipse Luna SR2 Java EE Bundle since then you get most of the dependencies preinstalled with Java EE Bundle and SR2 release includes some critical fixes.

Once you have installed or if you have JBoss Tools 4.2.x already installed, you can use our update site directly for JBoss Tools:

And for JBoss Developer Studio Bring-Your-Own-Eclipse:

Note: JBoss Tools 4.2.3 and JBoss Developer Studio 8.1.0 will become available in Marketplace only for Final releases at early April

What is New?

We are getting close to the final release. So, we focused on bug fixing in this release.

Upgraded Forge 2 Runtime

Besides bug fixes, the Forge 2 runtime was upgraded to 2.15.1.Final. See the release notes here.

There is also an improvement in Forge wizards which now render notes below the inputs (where available):


It’s worth mentioning that the Forge 2.15.1 release has an annoying bug which prevents addons creation. The upcoming JBoss Developer Studio 8.1.0.Final will include the fixed Forge 2.15.2.Final (has been released today).

What is Next?

The next stop is JBoss Tools 4.2.3.Final and JBoss Developer Studio 8.1.0.Final which are going to be released in two weeks.


Alexey Kazakov

by akazakov at March 20, 2015 06:03 PM

It’s the table sorter stupid

by eselmeister at March 20, 2015 03:48 PM

Today, I just trapped into those pitfalls where thinking in terms of complexity fails. I got the following error message when sorting entries of a JFace TableViewer:

!MESSAGE Workaround for comparator violation:
    - set system property java.util.Arrays.useLegacyMergeSort=true
    - use a 1.6 JRE
message: Comparison method violates its general contract!

Here’s a part of the stack trace:

java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeLo(
    at java.util.TimSort.mergeAt(
    at java.util.TimSort.mergeCollapse(
    at java.util.TimSort.sort(
    at java.util.TimSort.sort(
    at java.util.Arrays.sort(
    at org.eclipse.jface.viewers.ViewerComparator.sort(

I thought that something with the TableViewer is wrong, … or with the data, … or with the label provider, … or with the content provider. Finally, I had a look at the sort algorithm:

int sortOrder = 0;
int size2 = result2.size();
int size1 = result1.size();
sortOrder = (size2 > size1) ? 1 : -1;

If size2 and size1 are the same it crashes, cause 0 shall be returned but in all cases -1 was returned. The following fix made it work.

int sortOrder = 0;
int size2 = result2.size();
int size1 = result1.size();
if(size2 != size1) {
	sortOrder = (size2 > size1) ? 1 : -1;

Stupid little mistake :-)!

by eselmeister at March 20, 2015 03:48 PM

What is new on Eclipse Thym 0.2.0

by gorkem ( at March 20, 2015 03:36 PM

We have just released a new version of Eclipse Thym.

Compared to 0.1.0 release the highlights for the 0.2.0 release are.
  • Working sets are supported on New Hybrid Mobile Project wizard: You can add your Hybrid Mobile projects to JavaScript working sets during project creation.
  • Convert existing Eclipse projects to a Hybrid Mobile project: Any existing Eclipse project, that has a proper config.xml and www directory, can be converted using the Configure > Convert to Hybrid Mobile Project menu item. This feature also introduces a new API to enable adopters to programmatically convert existing projects to Hybrid Mobile projects.
  • Icon and Splash Screen support for iOS and Android builds:  If your config.xml has icon and/or splash screen references. Native project or executable exports created from Thym will honour them. Refer to Apache Cordova documentation for details of icon and splash screen support. 
As usual Thym 0.2.0 is available from these update sites and Eclipse marketplace.
  • Update existing installs:
  • Release repository good for building against:

by gorkem ( at March 20, 2015 03:36 PM

Eclipse Community Awards 2015 - Winners

March 20, 2015 02:45 PM

Congratulations to the 2015 award winners!

March 20, 2015 02:45 PM

Eclipse meets Europe

by eselmeister at March 20, 2015 10:08 AM

Foto (C) by Dany Gellert

But Hamburg got foggy again … :-(

by eselmeister at March 20, 2015 10:08 AM

Identifying the GTK version your Eclipse IDE is using

by Lars Vogel at March 20, 2015 09:52 AM

To identify which GKT version your Eclipse IDE under Linux is using go to Help -> About -> Installation Details and select the Configuration tab. Look there for
org.eclipse.swt.internal.gtk.version property. You can also use the “Copy to Clipboard” button so that you can copy the details into a text editor to search for it.

In my case it shows: org.eclipse.swt.internal.gtk.version=3.12.2 which obviously means that I’m using GKT3.

Thanks to Alexander Kurtakov for the tip.

by Lars Vogel at March 20, 2015 09:52 AM

CfP: Workshop on Methodical Development of Modeling Tools (ModTools15)

by Jens v.P. ( at March 19, 2015 06:58 PM

Same procedure as last year? Same procedure as every year... but this time it's Australia. This is where EDOC 2015 is located, and this is where the following workshop is located this year:

3rd International 
Workshop on Methodical Development of Modeling Tools (ModTools15)
on the 19th IEEE International Enterprise Computing Conference EDOC 2015

This year, EDOC takes place in Adelaide, Australia. You will find the call for paper and other information at the workshop's hompage: Submission deadline is April 15th 2015.
The workshop Methodical Development of Modeling Tools focuses on procedures and architectural principles related to the creation of software for presenting, editing, or analyzing models.
Software tools for modeling are required for scientific and practical applications of modeling methods and modeling languages in enterprise computing. To test and exemplify new modeling approaches, research prototypes of model editors are required, as well as tools for presenting and analyzing models. To be able to efficiently develop such modeling tools, it is desirable to methodically guide the development of modeling tools, and elaborate procedures to align their design with the conceptualization of new modeling languages and modeling methods.

by Jens v.P. ( at March 19, 2015 06:58 PM

The Open IoT Challenge projects are way cool

by Benjamin Cabé at March 19, 2015 06:32 PM

There are only a few days left for the participants to the Open IoT Challenge to wrap up their projects and share the final results of what they have achieved over the course of the last couple months. I have to say that I’ve been impressed by the quality of the projects so far, and some of them particularly caught my attention:

Caracho: Connected car using Eclipse Kura

Davide de Cesaris has been continuously blogging about his adventures connecting his car to the Internet of Things.
There are several things I like about Davide’s project, and I really encourage you to check out all his blog posts to learn more on what Kura can enable. In particular:

Screen Shot 2015-02-24 at 19.57.09

IoNeeds: Smart Jars

This project involves lots of hardware design, and I really like where it is headed. The team wants to build a connected jar that will be able to inform its owner when it’s getting empty, or its content is going bad.
In their latest blog post, they unveiled the PCB that goes into the jar’s lid, and I think it’s really cool!


Remote controlled Raspberry Pi car

The BitReactive guys have built a very nice-looking R/C car that embeds a Raspberry Pi, and runs Kura + an application developed using Reactive Blocks. The application uses CoAP for motor control, while MQTT is used to interface with the embedded camera.
I really like that they have published the code of the Reactive Blocks app, and that you can therefore have a look at it!


And many others! is building an Internet of Plants solution, using RIOT, and CoAP. Bittailor is building an home automation solution based on MQTT-SN and IFTT.
And there are many other projects that I am sure will share more details in the next few days.

As a reminder to all the participants, the deadline to participate is next Monday, March 23. By then, you should have completed your project, and summarize in a blog post or a video what you have accomplished. Please make sure to post it on the Tumblr page.

by Benjamin Cabé at March 19, 2015 06:32 PM

Eclipse.exe and windows processes

by Jérémie Bresson at March 19, 2015 03:22 PM

One of our clients mentioned that his users sometimes wish to kill the process associated with its Scout client application in the Windows Task Manager. Scout applications use the Eclipse Launcher exe like any Eclipse RCP application or the Eclipse IDE itself. I will use “eclipse.exe” as application name in this blog post.

The problem was that in order to completely terminate the client application, they need to be aware of the fact that their application was actually running in two processes, the eclipse.exe and the javaw.exe process. By just using “End Process” (button or context menu) on the eclipse.exe process in the Task Manager, only the smaller process is killed and the much larger javaw.exe process continues to run. Only by selecting “End Process Tree” in the task manager the complete application is terminated. Only few users were aware of this setup that is not really user-friendly.

End process in Windows Task Manager

After some investigation we could propose a solution to address the client’s issue. The Scout client application now appears as a single process in the Task Manager and it no longer matters if users click on context menu “End Process” or “End Process Tree”.

In the reminder of this article we summarize our findings that should directly apply to any Eclipse RCP application or the Eclipse IDE itself.

To visualize the dependencies between the individual Windows process the Windows Process Explorer Tool can be used.
Using this tool we can now see how javaw.exe is a sub process of eclipse.exe:

Process Explorer

In this case eclipse.exe is quite an empty process and killing it without killing the process tree does not free the memory allocated to the javaw.exe process.

In the past, we have noticed that eclipse applications containing a JRE subfolder (“Bundle JRE for this Environment with the product” in the product editor) were represented by a single process in the Task Manager. It also works if instead of a JRE subfolder, a shortcut pointing to the real JRE folder is used.

It is possible to create the same behavior by letting the -vm parameter point to the jvm.dll instead of the in the javaw.exe in the eclipse.ini file (see also the list of runtime options for the eclipse.ini file)

With the following setting in the eclipse.ini file the client has a single process that represents the Scout RCP client.


Using the Windows Process Explorer we can now verify, that the eclipse.exe process does no longer start any sub-process.

Process Explorer

For our client, this solution is much better. It is more user-friendly and prevents unnecessary calls to the support hotline.

Scout Links

Project Home, Forum, Wiki, Twitter

by Jérémie Bresson at March 19, 2015 03:22 PM