Monday, January 19, 2009

Cool DTP Talks at EclipseCon 2009

Hey all!

I'm always amazed by the depth and breadth of talks at EclipseCon and this year is no different. In the Data Tooling category, we have a diverse set of talks (you can see the list here) on everything from some new tooling we've been working on, updates to the Graphical SQL Query Builder, how Ingres is rolling DTP components in new and unique ways, to using YouTube in DTP and how a commercial vendor (IBM) is using and extending DTP APIs for their PureQuery product.

I have to admit I'm sort of partial to the YouTube presentation I'm doing :), but I'm very curious to hear Ingres and IBM talk about their tooling and products and how DTP is playing a role in those.

For those of you just getting started with DTP, we have a tutorial scheduled for the Monday of the conference that's going to walk through a ton of topics from adding a new JDBC driver to the mix, to supporting a new database, and customizing SQL syntax and so on...

DTP is much more than just a great set of tools for data access... It's a great community. And EclipseCon is when that community comes together.

Come join our community!

--Fitz
Reblog this post [with Zemanta]

Friday, December 19, 2008

Data Tools at EclipseCon 2009

Hey all!

Yes, the holidays are almost upon us... But even better than that, EclipseCon 2009 is just around the corner! (Ok, maybe not RIGHT around the corner, but three months will zip by in no time.)

This year in the Data Tools track we have a tutorial coming up and bunch of cool talks from a number of different directions.

Though I'm helping with the tutorial this year and moderating a block of short talks, I also am talking about how to use DTP to connect to something other than a database. After all, not all data is in databases!

My long talk this year will show how DTP and the Data Source Explorer can be used for searching and viewing YouTube videos in Eclipse. How do these two worlds meet? Come to my talk and find out!

Besides that, I get to moderate a set of three cool short talks. These bright folks will talk about how DTP is being used in RCP as a database developer's type of tool, what's going on with the SQL Query Builder in Galileo, and how DTP is being used in cool ways by a commercial application.

So be sure to check out some of our talks this year! In another post, I'll talk some about what to expect from our tutorial and some of the other cool talks going on at EC2009 that I'm excited about!

Register today and don't forget to reserve a room at the hotel (it fills up fast!)!

Happy Holidays to all!
--Fitz

Reblog this post [with Zemanta]

Tuesday, December 16, 2008

Out of Memory Errors...

True-color image taken by the Galileo probeImage via WikipediaHi all...

I recently spent about a day and a half chasing my tail trying to track down some bizarre out of memory errors I was running into with Ganymede SR1 when debugging some DTP stuff and thought I'd pass along what I learned. I was continually running out of heap space while debugging, which was very troubling.

At first, I thought I had somehow corrupted my workspace. So I created a new workspace and tried it again (several times actually) and ended up with the same problem.

Next, I thought I'd try the Galileo Platform Galileo M3 build (along with the associated GEF, EMF, and DTP builds) and see if I got the error. At first I didn't, and I thought 3.5 might have fixed the problem... [sigh] No luck.

So then I started poking around on Google, trying to figure out how to bump up my heap space.

I kept running across this suggestion (which after thinking about it was kind a "well duh" kind of thing):
"Add -Xms256M -Xmx512M to the VM arguments for the runtime configuration or on the main Eclipse command line when you start it up..."

Lo and behold it works now in Galileo and Ganymede. Life is good.

But it was a frustrating end to the week, only to discover that I was just oblivious to the simple solution. :(

Hope this saves someone else from the pain and suffering!

--Fitz
Reblog this post [with Zemanta]

Monday, December 15, 2008

New DB Support in DTP for Galileo...

The :en:SQLite logo as of 2007-12-15Image via WikipediaHey All!

Yes, it's been a while. But things are starting to hop with DTP for Galileo.

Our DTP 1.7 release will include some support for new databases and some updated support for existing ones...
  • Ingres has been kind enough to contribute their plug-ins for Ingres DB support in DTP for Galileo and we finally have them as part of our regular build.
  • I added some rudimentary SQLite support recently and that's now part of the regular build.
  • And Ivar and our friends at NexB were kind enough to contribute some big updates to our Microsoft SQL Server support, including new support for SQL Server 2008.
So big thanks to Ingres and NexB for making those contributions possible!

More changes are going in all the time as well... Enhancements and bug fixes mostly, but some new features as well.

Be sure to check out our M4 milestone build here for some early access!

--Fitz
Reblog this post [with Zemanta]

Friday, November 7, 2008

Get your submissions in for EclipseCon 2009!

Hi all!

Yes, it's just the first week of November... But November 24 is creeping up on us all too quickly... 18 days and will come and go and you'll be wondering where all the time went!

So it's time to think about a presentation for EclipseCon!

Simply want to share some cool tips or news with the world? Do a short talk! You only have to fill 10 minutes and it goes by like lightning.

Do you have more to say? Do a long talk! 50 minutes goes by very quickly.

Do you have too much to say in an hour and want to help people learn some new Eclipse skills? By all means try for a tutorial slot! Two hours of your very own to teach a few old (or new) developers some new tricks!

But don't wait too long! We'd love to see some DTP-themed talks. What cool things are you doing with Data Tools? Use it in new and twisted ways and share it with the rest of us!

Only 18 more days to get your proposals in!

Good luck and hope to see some talks soon!

--Fitz

Monday, September 22, 2008

Perceived Benefits of "Free" Open Source Software

Hi all...

Perceived benefits of Open Source involvement. I'm betting that nearly everyone in the Open Source community has wrestled with it at some point, either with customers, management, or both. And I have to admit, it was a bit of a shock to the system (in a good way) when I was introduced to the Eclipse community a few years ago. I didn't really have a good understanding of Open Source back then. And I may still not have a good handle on open source, but I'd like to think I know a little more than when I started.
German Weißbier
Open Source means different things to different people. Some people just see the word "free" and get all giddy. Others see it as an opportunity to spread the wealth a bit and help out the community. Frameworks are popular in this respect - just look at Eclipse, Apache, and SourceForge. Each has its own piece to the puzzle and companies and developers can take those bits and assemble them in cool and unique ways if they meet their needs.

But ultimately the "free" of Open Source is that it's "free" to use, modify, and redistribute within the scope of the license agreement under which it's distributed. Note that I didn't say it's "free" in what it costs to create or maintain.

Often you'll hear the phrase "free as in beer" not "free as in speech". Or gratis vs. libre. It takes time, money, and all the various ingredients for whatever it is you're putting together - whether that be virtual, like software, or physical, like beer.

Let me expand on that a bit. I like beer, so it's an easy analogy to expand on. :)

When the "beer" flows freely, it acts as more than just a social lubricant (those EclipseCon evening social events we do so enjoy). I think it actually greases the wheels of progress so individuals can get beyond the gears and widgets they may be stuck on and move on to higher levels of complexity. (For example, focusing on the design of the "car" and not the "nuts and bolts" required to put it all together.)

But in order for the "beer" to flow, somebody has to make it. Somebody must grow the hops and barley, secure water rights, acquire a facility to ferment and bottle the results, and so on. It takes effort to combine these ingredients, as well as time and money, into a nectar that can be shared to do all these wonderful things in an open community of ideas.

Each Eclipse project has its own brand of beer. And not everyone will be able to use every kind of beer that's available. Think of it as a brewery introducing a new wheat beer. I'm not a big wheat beer fan, but I can appreciate the care that goes into making it, and many of the processes involved are the same used for other beers, so there's a shared or at least similar set of ingredients that we can help with or at least support in this community of peers.

To continue the "beer" analogy, the Eclipse Foundation is as much a bottling facility and brew pub as it is an actual brewery. Its role is to help distribute the beer around the world, but also to gather communities and raise awareness so the beer doesn't stop flowing due to a lack of participation from those communities. Free beer does nothing for anyone if nobody knows about it and nobody drinks it.

So I see my role as the titular head of DTP (if only because we need a head to chop off should things get out of hand) to do three things at a high level...

  1. Represent Sybase's interests at Eclipse so we can continue making and drinking beer, whether it's a Sybase brand of beer or someone else's.
  2. Invite others to drink our beer so we start seeing more people drinking their way to newer and more exciting things that would then allow us to do bigger and better things as well.
  3. And make sure the beer continues to flow. Ingredients must keep coming to the brewery. New types of beer improve the richness of the overall production of the brewery, and sometimes we need to coordinate to help market and sell the beer to other distributors and markets to make sure the free exchange continues to perpetuate itself.
The grand goal is to continue to make the beer that we need to survive, but also allow open source, DTP, and Eclipse to expand and grow in surprising ways.

I'm constantly amazed at the breadth of products and projects that are beginning to adopt and use DTP for their own purposes. Every year, we add more great people and companies to the mix. So we need to continue to nurture and grow DTP to continue building awareness and adoption of our beer so that the immediate community as well as our customers are aware of our efforts.

So drink up... I'd like to see us making and drinking DTP beer for a long time to come. :)

--Fitz

Reblog this post [with Zemanta]

Thursday, August 28, 2008

Creating the SQLite Connection Profile UI bits

Hi there!

So now we're almost to our first functional version of a SQLite connection profile in DTP. We have a driver-wrapper plug-in, a driver definition, an overridden catalog loader, and a connection profile with its associated connection and connection factory classes. What's next? Why, adding the UI so you can create the profile, of course!

With versions of DTP prior to Ganymede, this was a more difficult, but not horrible task. In Ganymede, we've reduced the amount of work to adding three extension points and writing four key classes in a org.eclipse.datatools.enablement.sqlite.ui plug-in (basically just extending these classes a tad, so little real work involved):
  • A connection profile wizard extension that uses the org.eclipse.datatools.connectivity.connectionProfile extension and uses the newWizard node so we can define our wizard
  • A property page extension (org.eclipse.ui.propertyPages) to define a property page so we can edit our SQLite conneciton profile instances
  • A driver UI contributor extension (org.eclipse.datatools.connectivity.ui.driverUIContributor) to create a reusable UI component that gathers the information we need for our SQLite connections
  • A connection profile wizard class that extends the org.eclipse.datatools.connectivity.ui.wizards.ExtensibleNewConnectionProfileWizard class
  • A connection profile wizard page that extends org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsWizardPage
  • A connection profile property page that extends org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsPropertyPage
  • And a driver UI component that is used on the wizard and property pages that implements org.eclipse.datatools.connectivity.ui.wizards.IDriverUIContributor
It may look daunting, but really it boils down to a few extension points, a few extended classes, and an instance of poor man's inheritance (copying a class from another project).

So let's get started!