Home » tag » Member

MyEclipse for Spring 8.6: Generate GWT and Flex Apps in Minutes

Dave Meurer (Skyway Software/Genuitec)

 

Abstract:

This webinar deep dives into the new Adobe Flex and Google Web Toolkit (GWT) scaffolding options that are available in MyEclipse for Spring 8.6. Presented by Genuitec and Sky…

Upcoming Event: Build Custom Maximo Reports with BIRT

Event Date: September 22, 2010 6:00 pm GMT-8Register Now

BIRT Exchange

 

Abstract:

Take this FREE online workshop to learn how to:

Create a custom Maximo BIRT report with tables and charts
Easily modify Maximo BIRT reports, w…

Upcoming Event: Shipping your Eclipse Product: End Users Delivered in 5 Minutes

Event Date: September 15, 2010 11:00 am GMT-8Register Now

Tim Webb

 

Abstract:

An expert’s review of real-world examples and discovered best practices that will help you quickly deliver and manage your Eclipse RCP applications…

New Eclipse-based Feature for Tomcat, JBoss, WebLogic

Jonathan Lindo (Replay Solutions)

 

Abstract:

See a Live Demonstration of an innovative new Eclipse-based automation feature:

Users are resolving defects 60% faster
Reproduce bugs in minutes in Eclipse
No database or appl…

Eclipse GUI Test Automation with froglogic Squish 4.0 in 10 Minutes

Reginald Stadlbauer

 

Abstract:

This video shows how to automate functional GUI tests for Eclipse based user interfaces. froglogic’s Reginald Stadlbauer shows how to set up an fully automated test using the Squish GUI testing…

Upcoming Event: New BIRT 2.6 Features in Helios

Event Date: July 8, 2010 1:00 pm GMT-8Register Now

Jason Weathersby (Actuate)

 

Abstract:

This webinar introduces new features provided by the Business Intelligence and Reporting Tools (BIRT) project with its 2.6 release. BIR…

Patterns and Best Practices for Effective Java UI Testing

Phil Quitslund (Instantiations)

 

Abstract:

Join Java and Eclipse expert Phil Quitslund as he presents best practices for creating effective, consistent, and robust user interface tests. The user interface (UI) of an applicat…

What’s New in Helios: Rich Ajax Platform (RAP)

The RAP Team

 

Interview with Boris Bokowski on Eclipse e4

Chariot TechCast with Boris Bokowski (IBM)

 

Abstract:

Today we speak with Boris Bokowski, a committer on the Eclipse Platform UI project, and a Senior Software Engineer at IBM. His participation in Ecilpse dates back to Ecl…

redView

Ekkehard Gentz

 

Abstract:

redView (Riena EMF Dynamic Views) uses technologies from Eclipse Modeling and Eclipse Runtime to ease the development of Business UI (SWT). If you’re new to redView, this webinar will help you to …

Application Development Secrets: Spring Scaffolding

Dave Meurer (Skyway Software/Genuitec)

 

Abstract:

One of the core capabilities in MyEclipse for Spring, scaffolding generates ready-to-run applications from existing artifacts such as database schemas, Java Beans and JPA ent…

Upcoming Event: Single Sourcing RCP and RAP Tutorial

Event Date: May 18, 2010 2:00 pm GMT-8

Register Now

Ruediger Hermann (EclipseSource), Ralf Sternberg (EclipseSource)
 

<!–

–>

Abstract:

The Rich Ajax Platform provides a framework and tools to develop rich clients and web clients from a single code base, either from scratch or by migrating an existing RCP codebase. In this tutorial you will learn how to create RAP applications and how to share a single code base between RAP and RCP.

  • Introduction – We’ll give you a short overview of what RAP is and what it isn’t.
  • Single Sourcing – There are some inevitable differences between RCP and web clients. We’ll present best practices for dealing with those issues based on experience with customer projects.
  • Styling – Web clients should look different than RCP clients. We’ll show how a regular RCP application can be transformed into an appealing web application.

Total running time: 2 hours


delicious delicious | digg digg | dzone dzone

<!–

–>

Building GUIs for the Google Web Toolkit with GWT Designer

Jaime Wren, Sr. Software Engineer (Instantiations)

 

Abstract:

GWT Designer (http://www.instantiations.com/gwtdesigner) is the leading GUI builder for the Google Web Toolkit (GWT) and has become the de facto industry standard…

Upcoming Event: Eclipse IDE for Java EE: Automate Problem Resolution

Event Date: May 12, 2010 11:00 am GMT-8

Register Now

Jonathan Lindo (Replay Solutions)
 

<!–

–>

Abstract:

Learn about an innovative new automation feature for:

  • Eclipse IDE JavaEE Development Environments
  • Tomcat and JBoss Web Applications
  • WebLogic and WebSphere Applications

Eclipse IDE can now be used for application errors in Tomcat, JBoss and WebLogic environments. Application errors can be identified, isolated and passed onto members of Virtual Development Teams for rapid bug replay and repoduction. The ReplayDIRECTOR™ functions like a DVR for applications by recording all inputs and events affecting your software while it is running, and providing the ability to replay exactly what happened. Defects can be reproduced immediately without the need to replicate the environment and conditions that the defect occurred in.

Total running time will be 45 minutes


delicious delicious | digg digg | dzone dzone

<!–

–>

Upcoming Event: Building GUIs for the Google Web Toolkit with GWT Designer

Event Date: May 25, 2010 9:00 am GMT-8

Register Now

Jaime Wren, Sr. Software Engineer (Instantiations)
 

<!–

–>

Abstract:

GWT Designer (http://www.instantiations.com/gwtdesigner) is the leading GUI builder for the Google Web Toolkit (GWT) and has become the de facto industry standard since its launch in late 2006, allowing developers to focus on creating Rich Internet applications without worrying about the complexities of Ajax coding. Join Instantiations’ Jaime Wren for this look at the power of GWT Designer as he guides you through building a sample GUI, demonstrating popular features such as WYSIWYG, Round-Trip Editing; Reverse Engineering; Graphical Menu Editing; UI Factories; Data Binding and Internationalization. Features from recent releases will be highlighted, including support for SmartGWT, Ext GWT (GXT) and GWT 2.0.
delicious delicious | digg digg | dzone dzone

<!–

–>

Upcoming Event: OSGi Jumpstart Tutorial

Event Date: May 20, 2010 10:00 am GMT-8

Register Now

Jeff McAffer, EclipseSource
 

<!–

–>

Abstract:

OSGi has been in the press a lot lately. Everywhere you turn there is some new product or project adopting the technology. From Eclipse to Apache to Spring. From servers to desktops to embedded. OSGi enables the creation of highly modular, dynamic Java-based systems.

Wondering what it’s all about? Join book author and Equinox OSGi project co-lead Jeff McAffer (equinoxosgi.org) for an introduction to Equinox and OSGi concepts and look at the breadth and depth of technology available in this space.

This mini-course is designed to give you a clear understanding of the essential concepts, facilities and advantages of this key technology. This session will be of use to anyone interested in building flexible systems in Java. It is particularly useful for technical managers and decision makers to help them better understand the overall runtime technology.

Total running time for the course is 2 hours.


delicious delicious | digg digg | dzone dzone

<!–

–>

Java Blog » Olympische Winterspiele mit Moonlight 3 schauen

Adobe Ajax Android Anwendung Apache API C++ Community Developer Eclipse Eclipse Foundation Embedded English Enterprise Entwickler Equinox Galileo Google Handy IBM IDE Individual Java Member Microsoft Mobile Modeling NetBeans News Open …

Donald Smith: EclipseCon Prizes And Valentines Day

Happy Valentines day to everyone! Just a reminder that Valentines day is the last day to register for EclipseCon at the early bird price, and that is on Sunday, February 14th!

I’m also happy to report on some of the very cool prizes that will be available at EclipseCon this year. These prizes come from various sponsors and members who donate them to the Eclipse Foundation for us to give away at EclipseCon at things like the Community Awards, for the Speaker Feedback raffle and other activities.

  • Google – Android devices
  • Lego – A couple Mindstorms
  • Microsoft – Complete Xbox system
  • Motorola – Several Android devices of various flavors and models
  • RIM – Several BlackBerrys

There are more to come! If you have prizes you would like to donate to EclipseCon, please get in touch with us ASAP!

– Don

Linuxquestions.org: Gnome beliebter als KDE

Bei den Members Choice Awards der Community Site linuxquestions.org hat Gnome es erstmals geschafft, zum besten Linux-Desktop gekürt zu werden.

Quality as a Deliverable: Software Quality is Not Just a Checkbox

Rob Ryan (Instantiations)
 

<!–

–>

Abstract:

Reduce errors and decrease security vulnerabilities before problems reach QA, or worse, your customers! Join Rob Ryan and Instantiations® for a virtual tour of CodePro AnalytiX™ to see the power of automating Java software testing throughout your Eclipse-based development project.

It is exponentially more expensive to correct software defects during testing or maintenance that during design and coding. Lower your total cost of development and improve customer satisfaction by addressing quality and security from the ground up.

Learn how to automate Java software quality and security testing from each developer’s desktop or during your nightly build.


delicious delicious | digg digg | dzone dzone

<!–

–>

Stephan Herrmann: Why I’m sometimes a bad bug reporter

OK, I use Eclipse for getting some work done. Eclipse is software so we know it contains bugs. Given that Eclipse is open source software, we all can only expect it to run smoothly if we diligently report back all errors we encounter (and provide steps on how to reproduce etc.). I know all that and I really want to be a good bug reporter because I really want a good experience using Eclipse because I really want to get the work done (and I may even want to sustain the impression that I’ve got everything under control and thus working with Eclipse is a delight).

A task

The other day, I was a very bad bug reporter, and only today I find some time to reason about what happened. This was my task: In preparing the initial contribution for the Object Teams Project I had to rename a bunch of things from org.objectteams to org.eclipse.objectteams. Simply, huh? Back in the days of emacs+bash I might have chosen to just use one big

find . -exec /bin/sed -i -e "s/org.objectteams/org.eclipse.objectteams/g" {} \;

and voila, if fortuna was with me, I might have been done at the return of that single command. But things were actually just a little bit more challenging, like, a few occurrences would have to remain unchanged plus while touching about every single file in our software I was going to also do some clean-up: rename some packages to foo.internal.bar, fixing some copyright headers, etc. Also I preferred to change one plug-in at a time which would mean that all references to plug-ins not yet processed should stay unchanged, too. Plus a few more little deviations from the grand search-and-replace-globally.

OK, since I like to see myself an Eclipse-wizard this was a nice challenge for its refactoring support. Plug-in by plug-in I renamed, I renamed packages with / or without subpackages, and after each step I wanted to see that compiler and PDE agree with all changes and signal that everything is still (or again) consistent, ready to be built, actually. Perhaps things started the get wrong when I estimated the effort as one or two hours. So, after a day or so, I wasn’t perfectly relaxed any more. My fault, should’ve known better about that estimate. BTW, one of the reasons it took so long was simply the size of my workspace in comparison to the power of my computer / hard-disk: every time I performed a rename with updates in non-Java files, I was nervously looking at the screen: “should I sit and wait for the preview page, or should I go to the kitchen, get a chocolate, coffee, just something?“. I did some emailing in parallel, but let’s just keep this: due to those response times I wasn’t perfectly relaxed any more.

A story of bug reporting

What I was going to tell here is a story of bug reporting, because as a safe bet doing a real-life stress test to an Eclipse component should give you a good chance to discover and report a few bugs that have not yet been reported by others. And indeed, I was successful in discovering some bugs, in various components actually.

I think one of the first things that occurred was that the svn synchronize view would sometimes fail to open the compare editor, more precisely, I had to explicitly close the compare editor before comparing the next file. At first this really **** me off, because the error dialog was popping up in some kind of infinite loop. Fun!#$ Once I’d figure out how to work around this problem it soon became a habit to just close the compare editor before clicking the next. Next, the svn plugin made a refactoring fail, because it was trying to create a directory which the previous refactoring had already created. The most creative bug having to do with subversive was a chain-reaction of first failing to undo a refactoring and than during reporting this error blocking the UI of Eclipse so I could only kill the Eclipse process, insert a new coin and start a new game.

I don’t intend to blame a particular component. For clean-up of license headers I have a little home-grown plugin that I just wanted to quickly install into the running Eclipse instance, so I went for the cool new feature to export/install into the host. Oops, my plugin depends on another plugin that only exists in the workspace but not in the host, install failed for good reasons. I removed the dependency and tried again. Installation still failed for the same reason: the ghost of this removed dependency prevented installation into the host Eclipse. Oh, I should have incremented the version or let a version qualifier do this automatically, of course. Tried again, still failed. Tried something so slightly different I cannot recall, from there on it worked. Can I reproduce the two or three different levels of failure? I didn’t even take the time to think of it. Well I would’ve been disappointed without a bug from p2 in this list ;) .

PDE did its share by reporting overlapping text edits in plugin.xml and therefore disabling its refactoring participant. What the **** caused those overlapping text edits, and how do I re-enable the refactoring participant to give it one more chance to behave well?

The list could go on if only I could remember. Instead I was happy to finish this 1.5 hours task after 2.7 days, ready to submit our initial code contribution, wow!

Looking back, I / we missed a great opportunity: we could have identified plenty of bugs in various components of Eclipse. With only a few more days of debugging I might have been able to present reproducing steps for all those bugs. And, if triaged and fixed by the corresponding devs, this might have contributed to M6 containing fewer of those bugs that just only occur in real world, never during testing. I failed, I managed only to submit two bug reports, with very little information on how to reproduce.

Lesson learned

Susan McCourt responded to an earlier bug report of mine in a very descriptive comment:

That is one of those things I’ve been meaning to fix forever, never wrote a
bug, and so keep forgetting to fix. And it seems like if I’m actually
[doing what triggers the bug], it’s because something is wrong, and so I again postpone
writing a bug.

Sure, when we hit a bug (or a bug hits us) we are always in some context of doing something challenging. Something that requires our mind to stay in focus. Something we want to get done.
Well, work isn’t perfectly linear, so we know how to react to interrupts. Bugs are such interrupts. Sometimes I like the challenge of isolating a bug etc. Sometimes I’m sufficiently relaxed when the bug occurs so I actually take the challenge. Sometimes the bug is sufficiently good-natured so making a small note and going back to the bug after the actual work is done is a perfect strategy. Some bugs, however, smell like depending on so many factors from your current context that reproduction an hour later seems extremely unlikely.

I think I have a solution to all this: given we don’t want to be distracted from our actual work, given also that some bugs need immediate care or they will escape our attempts to identify. Given some of the worst moments are when we start to isolate a bug and during that task a second bug stops us from working on the first bug etc. The only way to relentlessly follow all those tasks is to enable branching universes in your working environment. The frequent use of the work “task” may give a hint that I should finally start using Mylyn (I have no excuse for not doing so), but I would need a Mylyn that is able to capture full contexts: the complete state of my machine plus the full state of my brain. As a start I’m dreaming of always working in a virtual machine, and whenever something strange happens, I quickly (!!) create a snapshot of the virtual machine. Then I could first isolate (and fix :) ) the bug that just occurred, and then go back to the exact point where I interrupted my work and act as if nothing had happened. Branching universes with the ability of back porting fixes between branches is what I need. Of course the clock needs to be reset when returning from a bug reporting / fixing branch.

Yeah, that’s why I can’t quite live up to my dreams of good participation in open source development: I haven’t figured out how to enable branching universes for my character. If anybody has a hint on how to do this or any other strategy to not get overwhelmed between work and bug reporting, I’d really appreciate.

And if I don’t smile while writing a bug report, please excuse, I might just be terribly stressed because your bug interrupted my work on isolating another bug that stopped me from doing …

”Always look at the bright side of life…” :)

Rafael Chaves: UML may suck, but is there anything better?

UML has been getting a lot of criticism from all sides, even from the modeling community. Sure, it has its warts:

  • it is a huge language, that wants to be all things to all kinds of people (business analysts, designers, developers, users)
  • it has a specification that is lengthy, hard to navigate and often vague, incomplete or inconsistent
  • it is modular, but its composition mechanism (package merging) is esoteric and not well understood by most
  • it is extensible, but language extensions (profiles and stereotypes) are 2nd-class citizens
  • it lacks a reference implementation
  • its model interchange specification is so vague that often two valid implementations won’t work with each other
  • its committees work behind closed doors, there is no opportunity for non-members to provide feedback on specifications while they are in progress (membership is paid)
  • <add your own grudges here>

However, even though I see a lot of room for improvement, I still don’t think there is anything better out there. The more I become familiar with the UML specification, the more impressed I am about its completeness, and how issues I had never thought about before were dealt with by its designers. And it seems that the OMG recognizes some of the issues I raised above as shortcomings and is working towards addressing them. Unfortunately, some fundamental problems are likely to remain.

In my opinion (hey, this is my blog!), for a modeling language to beat UML:

  • it must be general purpose, not tailored to a specific architecture or style of software
  • it must not be tailored to an implementation language
  • it must be based on or compatible with the object paradigm
  • it must not be limited to one of the dominant aspects of software (state, structure, behavior)
  • it must be focused on executability/code generation (and thus suitable for MDD) as opposed to documentation/communication
  • it must be modular, and user extensions should be 1st class citizens
  • its specification should follow an open process
  • it must not be owned/controlled by a single company
  • it must not require royalties for adoption/implementation

My suspicion is that the next modeling language that will beat the UML as we know today is the future major release of UML. Honestly, I would rather see a new modeling language built from scratch, focused on building systems, that didn’t carry all that requirement/communication/documentation-oriented crap^H^H^H^Hbaggage that UML has (yes, I am talking about you, use case, sequence, instance and collaboration diagrams!), and developed in a more open and agile process than the OMG can possibly do. But I am not hopeful. The current divide between general purpose and domain specific modeling communities is not helping either.

So, what is your opinion? Do you think there are any better alternatives that address the shortcomings of UML without imposing any significant caveats of their own? Have your say.

Dave Carver: Coding Style Cramps

I recently rewatched “How to Design Good APIs and Why it Matters” (youtube video embedded below).

There are many lessons that can be learned from designing a good api, one of the tips is to make sure that your method names make sense. I ran across some code today in a test case, named:

createStuff

Great, I used to write these types of method names when I was starting out. Figuring they were throw away, or just funny. However, over the years I tend to avoid these names. Why, because 6 months later I’m trying to remember what type of stuff is being created. The same thing goes with naming variables:

that

While it is cute, especially when you are comparing this to that, it can be harder to figure out 6 months later what that really entails depending on the code. Choosing proper names does help with the overall maintainability of the code. A computer may not care, but a human has to know quickly what is going on.

Another favourite I’ve seen lately is naming a variable soup. What is soup? What does it contain? Is it vegetable, egg drop, beef, or chicken noodle? Descriptive variables help yourself and those that have to maintain the code after you leave.

If you are not using a static analysis tool to help detect possible bugs ahead of time, why not? If you are looking for a way to help contribute to an open source project, but are not sure where to start, consider running FindBugs or PMD against that code base. Submit some patches to the committers. It is amazing the type of Homer Simpson “DOH!” moments these tools find.

An example:

  if (someNullClass == null) {    _log.info("Error getting class name" + someNullClass.getName());  }

Obviously if this code ever was hit, it would toss a NullPointerException. However, I found similar code that had been in place for 3 years.

Your build system can help you out with reporting these types of issues. Hudson has the ability to display both FindBugs and PMD reports. These types of tools can really help clean up your existing code, and help to catch bugs before they can happen. I’ve also seen them help increase performance on some code bases. A very common pattern I keep seeing is string concatination in Loops. This is particularly nasty depending on the number of iterations, and is an easy thing to fix, by making sure you use StringBuilder or StringBuffer instead.

Here is a suggestion. Since for those that are on the Helios release train, M7 is supposed to be for bug fixes and documentation. Why not take a part of that time to run FindBugs or PMD against your code, and try to address as many of these bugs as possible. If you haven’t run these tools against your code base, you might be surprised what they find.

A constant gripe I hear from committers is that there is not enough resources to fix all the bugs, but how about we try to prevent some from ocurring in the first place. Then you can have more time to work on your features and that killer E4 application.

Ken Ryall: CDT-EDC and Openness

While our team here at Nokia has been developing the Eclipse Debugger for C/C++ (EDC) as a component of the CDT project we wanted to do it in the open as much as possible. But we still had quite a bit of initial work to do before the community would be able to evaluate what we were doing. Now that the initial contribution is in CDT we’re going to start working on changing our habits to bring more openness and transparency to the effort:

We’re going to start moving our discussions about EDC to the cdt-dev mailing list. This may seem simple but we also don’t want to bore the CDT community with issues related to Carbide, Symbian, on-device debugging etc. so we’ll need to be a little selective.

New issues with EDC will be logged in the Eclipse bugzilla instead of our Carbide bugzilla. We’ll need to be a little selective here too and probably won’t log every minor issue, but anything that merits any sort of discussion will be public.

Currently our team has two committers on the CDT project, Warren Paul and myself. I’ve been syncing the EDC sources in CDT with our internal copy. This has done wonders for my committer stats, it looks like I wrote all of the EDC code, but has masked the contributions of our team members. So we’re going to start nominating additional people as CDT committers, starting with the ones who already have a track record of contributions to other components in addition to their work on EDC.

Donald Smith: What I’m doing Monday of EclipseCon

I’ve got my Monday all mapped out (don’t forget, the full conference starts early Monday morning!) – and it’s all about OSGi and eclipseRT.

First, I’m checking out Paul VanderLei and gang’s “Working with OSGi” tutorial, maybe popping in and out as I do some new-member jumpstarts.

After lunch, I’m heading to a interesting looking series of talks — Apache Aries, Eclipse Gemini and finally an overview of the Eclipse Virgo Project. Hopefully all the speakers stick around to the break for some Q&A.

After the break, I’m going to jump in on some lightning talks – first a couple on SWT, then SOA. Depending on what Microsoft has planned, I might pop in there for a bit and finish off with one of the panels (Panels will be posted on the schedule Monday!)

After that, it’s off to the Member and Committer reception, sponsored by our friends at Oracle! Oh, and the community awards ceremony will be there as well!

Rest up, it’s going to be a busy week.

– Don