Monthly Archive for March, 2006

Software Plugin Architectures

*warning, this is geeky….stop now if you didn’t understand the title*

Ever wonder how developers allowed you to make sweeping changes to their software, like, say Doom and it’s wad files, or Winamp and it’s vast array of plugins, or for the best example, eclipse, which is entirely built with plugins (and obviously a small bootstrapper)?

So did I……for a very long time. It was just cool to let the internals of your software be manipulated. If you don’t know what I mean, download eclipse (www.eclipse.org), and run it. Then look in the plugins folder – that will give you a small glimpse of the internal architecture of the app, and into the way its been broken down.

Like I said, Eclipse is just a collection of plugins. My install has about 195 of them. Your mileage will vary.

So, I’ve now spent the last few weeks researching as part of my year-long research the ways in which plugins work, and most specifically, the way in which eclipse plugins work.

I now have a 30 minute seminar to give on the topic, but I could honestly do double or triple that. Not only is the topic amazingly interesting, it spans a number of areas of quite interesting research: software design patterns, software architecture, software metrics (code quality), and to a lesser degree, team development of software applications.

So, what does this mean to you, the humble reader? Well, if you have any questions, I am now probably qualified to answer many of them. If you want to learn more, even if it isn’t fully technical, ask away. If you are coming to my seminar, you now know what to expect in a nutshell.

Goodo,
Jonathan

Language overload

Man, I’m concurrently working in three different languages, and it really mucks me around. Right now I’ve been writing Java, C#, and Haskell code. Given my work style of spending a little time on each problem and then moving to the next (I’m a closet ADD ), I’m often wondering what the code I wanna write should look like. Even worse, I’m writing Haskell code in eclipse, my usual Java IDE, and reading Java code in Visual Studio, my usual C# IDE. At least I’m still using Eclipse for Java I guess….
Mental note for future: One language at a time….if possible (unlike this situation I currently find myself in, which are lecturer imposed).

Jo.

Intro to my research

This year my degree, as Rowan said, has basically changed from ‘Software Engineering’ to ‘Software Documentation’. I am living within my preferred text editor, writing case precis/analysis, reports on programming languages, work reports about my summer work, and research proposals.

On the topic of research, I found an article online yesterday that is really cool. It’s here:

http://www.marketcontours.com/techblog/plugin-architecture

Yes, it is a rather geeky topic, but if anyone wants to understand what I’m doing, that gives a relatively good introduction, if you know the basics of eclipse or the RCP aspect of eclipse. The document gives all the benefits of why I’m doing this for my research.

My research is titled “Refactoring Centruflow Into Patterns”. So, Centruflow is an application I develop, refactoring means making changes whilst still maintaining the same public interface (generally), but what does the “into patterns” part mean?

It means presently the Centruflow code base is using very few of them, and I want more and better. Right now Centruflow is like MS Word in code design – it’s one gigantic system. I want it to become a plugin system, looking more like the Eclipse application, which is entirely built up of separate bundles of code, or plugins.

Once again, the benefits are listed on the articles page, but for me it seems to be a way to improve code quality, and that’s very important if I want this system to work into the future.

Ah well, I think my discussions my be getting a bit outside the scope of what spaces.msn is for , so I think I’ll leave it there.

First day

Well, Microsoft were here today. They gave a presentation to anyone that wanted to come along, which was all very good. Lots of stuff given out, and plenty of interest.
So much so in fact that the lecturers asked the presenters to do the presentation again in their lecture times. Therefore, we did another presentation in the afternoon to all first year engineering and technology students. Tomorrow we are presenting to all second years doing these courses.
This is likely to mean we will cancel the afternoon presentation for tomorrow, so don’t presume that it is on. If you want to come along, you may as well (if you can) come along to the 159.201 lecture at 9 tomorrow in the refectory down in the Arts area of Massey. Yes, 9AM on a Friday – how dedicated are you? Tell me you read this and we’ll sort you out a prize if you aren’t a second year
Cool,
Jonathan.

Microsoft vists begin

Tomorrow and Friday Paul and entourage from Microsoft will be at Massey. Do come along. It’s important to me: All Microsoft posters were ripped down almost instantaneously after being put up, and I think Microsoft would rather present to people rather than an empty room.
I can only summise that people really like Microsoft (or me), and want a Microsoft poster (or one with my handwriting on it) to put up at their own place. Thats understandable, but imagine how much better getting free Microsoft stuff would be, and learning about the stuff Microsoft is doing this year for us (or alternatively….meeting me…..bah…who am I kidding )
So, those places and times again:
Thursday, 16th March, AH2 from 11am to 12 noon.
Friday, 17th March, AH3 from 1pm to 2pm
See you there,
Jonathan

About

Jonathan Giles is a 25 year old software engineer living in Thames, New Zealand. He holds a Bachelor of Engineering Honours in Software Engineering, a Masters of Science in Computer Science, and is a Sun certified Java programmer. Jonathan specialises in Java, Swing, JavaFX and Client-Server development.

He is currently a software engineer at Oracle in the JavaFX UI controls team. He also blogs over at the FX Experience blog. Obviously, the opinions expressed here are his own.

Contact

Email:   Here
NZ:   +64 211 089 038
US:   +1 408 372 8057
Twitter:   JonathanGiles
LinkedIn:   My Profile
Skype:   Skype Me