Showing posts with label archimedes. Show all posts
Showing posts with label archimedes. Show all posts

Thursday, March 26, 2009

Developing for Archimedes

Hello,
With the new team working on Archimedes, I had to help them set up an environment to work with Archimedes. I am pretty proud of the outcome.
In order to code for Archimedes, just follow these steps:
  1. Download and install a Java Virtual Machine S.E. SDK version 1.5 or later compatible with the Sun virtual machine (I suggest sun's one called 'Java SE Development Kit (JDK)' under http://java.sun.com/javase/downloads/index.jsp).
  2. Install Subversion (http://subversion.tigris.org - or "sudo apt-get install subversion" on debian based linux distributions or "sudo port install subversion" on Mac OS X with MacPorts).
  3. Download an Eclipse version above 3.4 (I suggest the one found at http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700/ - Eclipse SDK for your platform should be enough). Make sure it has all of the Eclipse RCP plugins. If you pick another version, choose the package Eclipse SDK or the specific build for Eclipse Plug-in Development.
  4. Install it on your system. It usually just involves unpacking the zip or tar.gz file you downloaded.
  5. Open it. Usually, just enter the folder that was created on the previous step, there should be an executable called 'eclipse'. Run that executable.
  6. Install subclipse. Go to "Help"->"Software Updates...". Select the tab "Available Software", click on "Add Site...". Fill in the "Location" field with "http://subclipse.tigris.org/update_1.4.x" (if you installed version 1.6 of Subversion, you can use "http://subclipse.tigris.org/update_1.6.x"). Click on OK. It should list the site on the table with the name "http://subclipse.tigris.org/update_1.4.x". Click the checkbox next to it. Click on the button "Install..." on the upper right corner. Accept the license and let it install. Once it's done, it will ask you to restart Eclipse. Please do.
  7. Download the file "http://svn.archimedes.org.br/public/mainarchimedes/rcparchimedes/br.org.archimedes.config/trunk/ArchimedesProjectsSet.psf". Save it somewhere you can find.
  8. Go back to Eclipse and go to "File"->"Import...". Expand "Team" and choose "Team Project Set". Click "Next". Click "Finish". It will download all the projects needed to work on Archimedes. This will take some time and a lot of bandwith. If you get an "Svn error", please erase all projects and try again.
That's it. Once you've done that, you should have about 100 projects for Archimedes. If you are getting some compile errors ("there are red signs on the projects"), try changing your Java default compile version. To do so, go to "Window"->"Preferences..." (or "Eclipse"->"Preferences..." on Mac), type 'compiler' , select the "Compiler" item on your left pane, change the "Compiler compliance level" to "1.5". It should rebuild the project and remove the compiler errors.

Running Archimedes from within Eclipse should be pretty simple but I've found problems more than once. Here is what you should do:
  1. Find the project "br.org.archimedes.core", expand it. Find the file "archimedes.product", right-click it, "Run As..."->"Eclipse Application". On Mac, that's enough. It all works. On Linux, I've found that this doesn't select all plugins needed. It then pops an error dialog asking if you want to view the log. Answer "No".
  2. Go to "Run"->"Run configurations...". Select the tab "Plug-ins". Click the button "Add Required Plug-ins". Click "Apply" and then "Run". This should do the trick and run Archimedes with all plug-ins.
Ok! This should be enough to work on Archimedes and try your modifications. Last and final step to have a complete Archimedes environment: setting up the build system. This also got greatly improved. The following steps should be enough:
  1. Download an Eclipse version along with its Delta Pack. I suggest you use the same version on development and on building to avoid unpleasant surprises. Therefore, go to http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700/ and download "Eclipse SDK" for your platform and "Delta Pack". Extract both files on the same place (it should merge the contents). This means, if you enter the "eclipse/plugins" directory of that new eclipse path, you should find plugins for all platforms (such as "org.eclipse.swt.carbon.macosx_3.4.0.v3448f.jar", "org.eclipse.swt.gtk.linux.ppc_3.4.0.v3448f.jar", "org.eclipse.swt.gtk.linux.x86_3.4.0.v3448f.jar",
    "org.eclipse.swt.win32.win32.x86_3.4.0.v3448f.jar" and others).
  2. Go to your "br.org.archimedes.build" project. Open the "build_local.properties" file. Change all fields. "buildHome" should be the absolute path to your "br.org.archimedes.build" project. "buildDirectory" should be the absolute path to a temporary folder where the build will generate the files. Make sure this is not a folder where you store important files because the build system will erase it. "eclipseDir" should be the absolute path to the Eclipse installation created on step 1. "os" should be the name of your operating system ("linux", "macosx" or "win32"). "ws" should be the name of the widget system of your system ("gtk", "carbon" or "win32"). "arch" should be the architecture of your processor ("x86", "x86_64" or "ppc").
  3. Go to your "br.org.archimedes.build" project and open the folder "maps". Copy the file "all-hugo.map" to "all.map". Open the new "all.map". Replace all occurrences of "/Users/night/Document/Archimedes/" with the path to your workspace (for example "/home/night/" if my workspace if "/home/night/workspace").
  4. On Eclipse, right click the "build.xml" file on "br.org.archimedes.build" project and choose "Run As..."->"Ant Build". On other systems, open a terminal (or cmd.exe), go to the directory where you "br.org.archimedes.build" project is and type 'ant'. If "ant" is not installed, please install it (http://ant.apache.org/manual/install.html or "sudo apt-get install ant" for debian based linux distributions). This should trigger the build process. It takes around 5 minutes to build it all.
On the folder you specified for "buildDirectory", you should find a folder "results" that contains several files. Among them, "Archimedes--...zip" files for macosx, linux (x86 and x86_64) and windows. Those are your executables.

Happy hacking!

The silence of the lambs on Archimedes

It has a been a while since no news were posted, but, as in the movie, silence doesn't mean nothing is happening. Actually, quite a few things happend since the last post.

First, a new team of 6 undergrad students is working on Archimedes again. As for the past 4 years, they'll work on Archimedes as part of an eXtreme Programming laboratory course. This semester's goal is "Portability".
I'll have them focus on making Archimedes compatible with other software. This basically means file support for SVG (exporting only for now -- in order to have post project work on Inkscape), native support to DXF (importing and exporting without file losses -- should allow to work with most of other CAD systems) and working on a few more essential elements such as Spline and Groups. I've also asked them to finish the work that was started on Trim, Extend and Fillet. I am not sure they will manage to do it all, but I'll help them the way I can so we might actually do it.

Other than that, I am happy to say Archimedes' new website is pretty good. It is currently pretty featureless but I intend to improve this with time. My next step is to add a release system plugged into the repository in order to easily generate new versions of Archimedes. If I manage to do it by April, 1st, I'll use it to release the new version with several improvements. For now, please report or request anything you want from Archimedes in the SourceForge website. I hope to remove this dependency with the new website but it will take some time.

Less exciting news. I recently discovered that Archimedes had a few licensing issues. I've spent two months trying to get in touch with every code contributor of Archimedes so far to change the License of Archimedes and had a partial success. The output is: Archimedes cannot be GPL (any version) because it uses code licensed under EPL v1.0 and changes it, which would mean it should be licensed under GPL which isn't allowed by the EPL license. Therefore, Archimedes code is now licensed under EPL. The only implication of this change is that Archimedes' code is no longer as viral as GPL code so people can use parts of it on commercial application as long as they keep Archimedes' code free. This change also implied that every project of the current Archimedes project is now distributed with a License.TXT file. I was also forced to create a small header-inserter ruby script which I made available at rubyforge as a library. The library makes it really easy to list all files within a directory that match a certain pattern and also retrieves subversion data for each file if there is one. The code can also be found at my github page.

Last notice, Jhonny warned me that it wasn't clear which page of archimedes should be check. Please, always refer to www.archimedes.org.br! The incubadora's page is abandoned. Their link is awful and the support is getting thinner and thinner so I guessed it would be better to handle ourselves. That's it for now.
More news soon with the new version.

Wednesday, January 14, 2009

Holidays are over and new archimedes version

Hello everyone,
The end of the year is always complicated. This year I had an extra since I am trying to move to new apartment. Luckily, to plan my move, I wanted to have a plan of the place and this sent me back to Archimedes. When I tried to use it, I discovered several bugs that stopped me from working. So I spent a pretty good amount of time solving some of those problems.

So I've just release a new version with several of those fixes. I have already discovered 4 others bugs in this unstable version and I am working to fix them. I am also working on PDF exporting system again. Most of the code just needs to be adapted and a few classes for the eclipse's system. Extend is also on going but I am not sure I will manage to distribute it on the next stable version without delaying too much.

I also closed (removed all files from) the repository on https://archimedes.incubadora.fapesp.br/svn/ and let a file saying that everything (including the history) has been moved to http://svn.archimedes.org.br/public/.
This should improve the overall bandwith and allow me to trying and implement a few features on the archimedes website (which is pretty stalled right now).

Saturday, October 4, 2008

Archimedes' screenshots

Hello everyone,
I've just updated the archimedes web site to include user registration. Now, all the content is dynamical. Both the front page as well as the screenshots are dynamically added by a special user (me). I also implemented a release page that will soon become a download page.
The great advantage in all this is not really to the users but mostly to myself. It allows me to easily and quickly update stuff about Archimedes. Once the download page is up, I should probably give it a rest for some time. Work a bit more on the software itself.

I hope to improve this system to plug it to the repository (http://svn.archimedes.org.br/public/) and have releases and a few more stuff updated automatically. It would be fantastic. If I get it to work, I might even open this to more people to create their projects in another website. Archimedes' site will become a plug in forge in that case. I'm investing a lot into this quick feedback tool in order free more time to code later on. Let's hope it works.

During my development I found a small bug in attachment_fu. If you do not specify an image processor to your image model and you use ImageScience, gif thumbnails' path get messed up. I've sent the patch to Rick Olson but if you want it, it is simple. Open up attachment_fu.rb, go to line 85 and 86 and change them from:
attachment_options[:processor] = "#{processors.first}Processor"
processor_mod = Technoweenie::AttachmentFu::
Processors.const_get(attachment_options[:processor])
to:
attachment_options[:processor] = processors.first
processor_mod = Technoweenie::AttachmentFu::Processors.const_get("#{attachment_options[:processor].to_s.classify}Processor")

Restart your server and this should do the trick.

Well, that's it for now.
Bye bye

Monday, September 29, 2008

Archimedes' site becoming a forge

Hello there,
I've been working on archimedes.org.br website a little lately. It just happens that I have been working on it to make it a forge instead of a simple project website.
The idea is that I can host any plugin development to archimedes on the site providing a repository and a nice bug tracking system and system presentation. It is also open source and is already available at http://svn.archimedes.org.br/public/br.org.archimedes.www/. It works using Ruby on Rails 2.0.2 (I know I'm a bit outdated) and so far only has features for archimedes.

So far the system is pretty simple. I have projects, each project has versions.
There are users and users can have a ProjectMembership relationship with a project (and vice-versa).
My next step is to create a screenshot posting system that relates them to versions. This way screenshots can be dated and related to versions and operating system (still to be created). I hope I managed to improve this part until next sunday and then release it to the site itself.

I am trying to get a repository dump of current archimedes' subversion repository because I want to migrate it to the new address. However, it looks like people are too busy to run a command line to help me at the incubadora. I will insist and, luckily, we will soon have a new home with all the commit logs and past under archimedes' address. It will give me more control over what happens and how to track it.

That's it for now. Work calls. Bye bye!

Tuesday, September 23, 2008

Archimedes' marketing first step

Hello,
I've worked a little on Archimedes' first marketing steps.
I've changed the DNS pointers to my dreamhost account and set up a first version of the website. It currently only features the main page and I am working on the Screenshot page. Screenshots will be related to an operating system and a version. This way, people will be able to see screenshots and know how their Archimedes should look like in their computer.
I am working on the model of this and hsould restrict access to a few stuff on that. I hope I can finish this by this weekend. This might also produce the Download page since I will need to have versions which will be linked to the files of those versions.

I also payed for another 5 years of archimedes.org.br and arquimedes.org.br so the website is ensure for some time.

Finally, I am trying to reply bug reports and solve them as quickly as I can. I am focusing on Bug Reports and Support Requests leaving Features aside until I can have the current version working decently. Please send me feedbacks about any of those.

See you later.

Tuesday, September 16, 2008

Archimedes marketing

On my trip to São Carlos, I read most of Karl Fogel's book: "Producing Open Source Software" which I bought to help me on my masters. I realized Archimedes' greater problems come from my lack of care to the marketing department. I have been failing over and over to gather volunteers as well as keeping my users interested.
Most of this is due to the very low rate of updates at the website as well as the access failure caused by the University's server being down. I am planning to move both the website as well as the svn server to my Dreamhost account. This would allow me to maintain a much more customized website with a few integration tools that I find essential. I will keep the SourceForge website up and running but most of it will be proxied to the website.
The next month will be very busy (you could see that on this post) but I am already working on the website both on the layout as well as the application. I will try to maintain it agile and balanced with Archimedes' development meaning I will try to release partial versions slowly. The first step is to transfer the domain's DNS to my Dreamhost account and set up the basics. I would most surely like to have some feedback on both the layout (with suggestion) as well as the content (once I have something online).

For now, I let you with that screenshot of what I thought about and hope you can provide me some feedback. Thank you!

Friday, June 20, 2008

Archimedes saving and opening!

It took a very long time and several complains but it is finally back.
Archimedes' new version (0.56.0) reintroduces open and save feature. We maintained the xml file format with a few minor modifications from the last version. It is not backwards compatible but if you need such support, I can easily write a small translator. Just post a feature request at sourceforge or a comment here.

There are still a few things I would like to improve on that system (such as disabling import/export as well as open/save when there are no importer/exporter or nativeFormat extensions loaded). I've finally (just now) also improved my generate installer script to generate a source zip file. This way anyone can get the source code related to that version whenever they wish. I remind everyone also that our subversion repository is open (as always) at: https://incubadora.fapesp.br/svn/archimedes/. The rcp version (which is the one being released lately) can be found at https://incubadora.fapesp.br/svn/archimedes/mainarchimedes/rcparchimedes/.

I also decided that unstable releases will only be launched at sourceforge while stable ones will be announced at sourceforge, gnomefiles, wikipedia, codeplex and the brazilian portals (incubadora and codigolivre). I also decided most files will be hosted at sourceforge and the other portals will only refer to the online installer or the full installer since those are more generic.

Last, but not least, the next plan is to get the team working on trim and extend to add those backs by July 10th. I will work on improving the open/save system and try to readd export to svg, pdf, jpg, bmp and png. Since I believe most of the code can be reused from older versions, I might be quite quick to implement it.

That's it for now people. Please send us your feedback!

Monday, June 9, 2008

Releasing unstable versions again

I am forcing myself to release unstable versions again to try to automatize the process a bit more.
So far I have managed to improve the sourceforge publication decently. There are yet another 3 sites that are much more painful to update that contain archimedes versions.

I think I will adopt the following rule. Unstable versions go to Sourceforge Only. Stable versions go to the other sites also. This way, maybe I can keep up the habit to release unstable very often (once a week).

This unstable (0.55.0) contain the export feature working nicely, the trim command back but not working and the infinite line intersector. The team is now working on the Trim system and the import one. So next version may be able to load files and trim correctly.

Files can be downloaded at Archimedes' sourceforge site. Enjoy it!

Monday, June 2, 2008

Archimedes 0.54

After one year, I've finally released Archimedes 0.54.
It counts with the whole intersection features back and, most notably, the intersection grip and the selection by intersection. The next step is to have trim and extend back as well as the save and open features. The current team will be working on save and open and set a deadline to the 16th so, if I don't get too late, I should release it that week end.
By July, they will have another iteration ready that should bring trim, extend and fillet back. If I am not mistaken, this is pretty much all features that were available in the old version. So we are good. Just need to improve upon it later.

I am also late with the podcasts and I don't know when I will manage to recover on that.

See you all later. Enjoy the release!

Sunday, May 18, 2008

Article link

Well,
As usual, I am late with my duties.

The Dojo São Paulo now has a blog where we post the summary of each meeting. We also have a list where Mariana posted the link to our article about our experience that will be published at Agile 2008. And finally, we created a Dojo São Paulo git repository at Github. It is supposed to host the projects started at the Dojo. It currently hosts only the Dojo Unit which is the C Unit testing library we started working on. I have been working on it quite a few to make it a bit more effective. It is, so far, strongly based on conventions and limited to very small projects. If it grows a bit stronger I will post again about it.

I am not at home now but as soon as I get back, I will update my whole archimedes tree and release version 0.54. It marks the return of intersection features such as intersection grip and selection by intersection. Tomorrow the team will define what will be the next goal and I will post it as it gets defined.

I have defined the next screencast's script and I hope to record it tomorrow and post it then. I would like to say I am very disapointed with Google Videos since they are failing to process the screencasts I try to upload. I will try something else later but I lack enthusiam.

That's it for now. See you later folks.

Monday, May 12, 2008

After a while, another screencast

Hello,
I've been busy since FISL as always. A couple projects starting over which I will only comment once they go a bit further than now.

Now for the good news, I had a paper about the Coding Dojo São Paulo accepted at Agile 2008 with Danilo Sato and Mariana Bravo. As soon as we finish the last revisions, I will post it here. For those of you who do not know what a Coding Dojo is, check the paper by the end of the week, for the rest, know that we host a coding dojo weekly (soon to be twice a week) in São Paulo and we would be glad if you could join us every wednesday from 8pm to 10:30pm.

Archimedes is walking slowly. I believe we will have most intersection features working for this release but not the save/open feature yet. Selection by intersection an trim will not be ready either. I should release it by the end of the week and I will post about it.

I have finally recorded the 6th screencast about Smalltalk, Squeak and Seaside. It shows the System Browser tool along with the Message names and the Method finder. It is not really very important but I had to talk about it before I can start classes (which is next screencast's goal).
That's it for now. Enjoy the recording:

Download the English version here or see it on Google Video.
Download the Portuguese version here or see it on Google Video.

Tuesday, April 15, 2008

Archimedes 0.54 defined

Ok, this week I worked with the Archimedes' undergraduated and graduated students team to define what will be their goal for the 15th may 2008. It will be three weeks of work for them, which is the equivalent of 21h per pair (3 pairs total). And their goal for it is to get most intersections back working. This means that the version released the 16th or 17th should have the features 0.52 has plus the whole snap intersection system running.
If I manage to get time, I hope to release an unstable (really unstable) version 0.53.0 during FISL and keep it being updated weekly. My work for the team will be to provide support to each pair and coordinate the work. I hope I manage to get some coding going but I am not sure I will be able to.

Last news is that we found a couple open source Java DXF library that should help us provide import and export support for DXF in Archimedes. Don't expect it ready so soon but I hope we manage to release a version with DXF support by July (or August since July will be my big holidays in Europe).

Finally, to answer a couple critics I have been hearing a lot: I wish I could have a centralized website where I could both keep the code repository, the website, the developers center and the blog. But, so far, nothing fits my needs so I am planning to create it myself (and if possible, make it my masters). That's all for now.

See you!

Tuesday, April 1, 2008

Archimedes directions

Hello everyone,
Archimedes has been a bit confusing lately. Mainly because I am no longer that excited about the project as a result of working alone for too long (being an agile developer, I love pairing).

I previously announced we were going back to the 0.17.x series to improve it until it reaches a more usable status. The bad news is:
I keep supporting that idea but it seems I will be doing so alone for another long time. I am still working (slowly) on an infra-structure project to simplify the menu/toolbar/statusbar update in Archimedes in order to keep it all more consistant with the program's state. It would also help me maintain the interface code decent enough. Once it is done, I can already release a new verison of that series. The problem is, I cannot estimate when it will happen. All I can say, it is that it will take longer than 3 months.

The good news, however, is that the team of undergraduated and graduated students working on Archimedes has chosen to improve the 0.52.x series by readding the intersection feature. This means intersection selection, single clicks selection, trim, extend, fillet and other intersection dependent features will most likely appear in this series until the end of the semester. On parallel, I hope to work on the importer/exporter features to have save/load and import and export features back also by the end of the semester. If we manage to do it, I might even forget about the 0.17.x series since 0.52.x will be much more maintainble and will have almost all the features from the previous versions. Let's wait and see. I plan to release 0.53.0 by this weekend (6th of april 08) and retake the old weekly releases pace if the team can help me do it.

That's it for now folks.
Cya!

Wednesday, March 19, 2008

And rejected... once more

That's it people. The Free Software Competence Center was rejected once more as a mentoring organization at Google Summer of Code. Therefore Archimedes will NOT receive fundings to contribution projects. Back on lonely development for another year. Sorry people.

Another news is that I have a 3 graduation students and 3 masters students team starting to work on Archimedes next week. They chose to continue the Rich Client development which means I will keep the non-RCP version going by myself.
The bad part of this is that it will evolve slowlier but the good part is that the RCP version might reach a very good state by the end of the semester if everything works fine. Our plans are to implement the intersection features in order to have snap, trim, extend and other intersection dependent features in the RCP version.

Another good news is that I've hired Dreamhost to host a couple of sites related to my family. Those are my mother's french litterature site (http://www.maremurex.net) and my father's architecture office site (http://www.bacco.com.br) that we are rebuilding on rails. I will migrate all Archimedes resources and infos to Dreamhost when I get some time. This will mean a new website for archimedes with a much better system (that I hope to build) than the one on sourceforge or the incubadora. This blog will also be migrated there whenever I get some time. I'll post a warning here when I do migrate it.

Next post coming up is about my current work on screencasts for Smalltalk, Squeak and Seaside. See you soon.

Wednesday, March 5, 2008

Archimedes and GSoC

Hi again,
Like last year, I will register Archimedes in the Google Summer of Code (GSoC). This time I hope the server will stay online so that the evaluators can take a look at the project. As last year, Archimedes will be inscribed as one of the projects of the Free Software Competence Center in São Paulo. I am not sure this is really a very good idea since it will not display Archimedes in the main project lists (since it will be considered a sub project). On the other hand, Archimedes, as well as other projects in the Competence Center may benefit from "partial" votes that may result from proposals to the various projects.

The due date for the registration is next week (wednesday, 12th march) but I already started listing possible subprojects for Archimedes. So far, I have listed the following projects:
  • Implement a DXF and DNG importer and exporter
  • Implementing the printing configuration and viewing system (a.k.a layout)
  • Creating an improved layer table widget to allow property modifications in the toolbar's combo and implement the line style creation/edition system for those layers
  • Improve the performance of the current snap system and intersection to handle over 1000 elements on screen without any noticeable lag
  • Implement another view system to match the Microstation's interaction pattern
  • Implement a DWG importer and exporter
I've tried to make projects equally interesting and work demanding (which explains why DXF and DNG make one project while DWG alone is another). If you have any other suggestion, requests or ideas, please let me know. I will try to gather them (or break them) into projects the same size as these ones.

Last thing: I've updated the developer's team on SF. All developers I removed haven't coded one single line in the last year and showed no interest about keeping the work going. There are now 3 developers listed there including myself. They haven't coded much lately but they promised they would do their best to restart contributing. It is a bit more fair to see the project having 3 developers instead of 10. Explains more the lack of advance.

Bye bye!

Monday, February 25, 2008

Feelings about Archimedes

I am very sorry to have to post this but I can no longer endure that feeling alone. I am getting seriously tired of being questioned about when Archimedes will have a better documentation and the new features and 64 bits support and updated informations on the site and a better site and this and that. Believe when I say I would love to provide every single one of those things but I am NOT being payed by anyone (except maybe myself) to work on this project. I am NOT unemployed or full time free to do whatever I want and most of all: I am not even a USER of Archimedes. I honestly and truly work on this project out of my good will!

Although I would really like to be paid to work on Archimedes, I do not expect people to raise money to afford my work. What I am expecting is that people stop complaining about me not doing to work and start doing it themselves. Start providing instalation tutorials for all platforms for instance, then maybe use tutorials directed to architects. Suggest a different page format. Update websites you have access on such as wikis and reports. Understand that anything that I do that does not involves programming Archimedes itself, features will NOT get implemented. So if you can take off anything what so ever from my duties, it means I get to program more (which is the part I like) and implement more features, correct more bugs and solve more problems.

And finally, if none of this is possible to you, try gathering architecture offices and professionals to donate any mount of money to the project that could be reverted into freeing me some time and working more on the project. If you do not feel comfortable with that, hire a local developer in your country to contribute with the project and ask me to give you feedback about his work if you don't feel secure to measure it.

It pains me to have to make this post especially because it is a clear signal that I am getting tired of the project. But I am getting each time more disapointed with the architect's community since it is not able to unite for a simple matter. Free and open source software should mean collaboration from everyone! Not just me working and you waiting for the job to be done. Especially considering that the greatests beneficiaries are the users of the software, a group from which I am NOT part.

Well, enought of complaining. Now to the news: during my talk at Campus Party, I promised attendees that I would release a new version of Archimedes. It will happen within the next 2 weeks because I will need to release some version for my graduation student team but I will delay it as much as I can in order to produce all the infra-structure I am working on. New versions that include features and improvements to users should only be available by the end of march. Let's hope I can keep that promise!

Wednesday, January 23, 2008

Archimedes mainstream back to version without Eclipse's Rich Client Framework

I'm working on Archimedes again. After 6 long months, I decided to restart working on the project after a chat with Maddog during the OpenBeach (site in Portuguese). I admitted that the migration idea was not very bright because of the complexity involved in RCP and the state of the project so far.

This is way I decided to go back to the version 0.17.x version and work on it.
Most of my work so far has been focused on infrastructure. I've developed a small library that parses an XML file into an abstract structure and another one that transforms that structure into SWT widgets, more specifically, a menu bar and/or a cool bar (a toolbar that can be moved). I've tweaked it to adapt better with os x menu system.
The source and tests and examples of this work are available in a specific folder of the SVN tree of Archimedes:
https://incubadora.fapesp.br:8043/svn/archimedes/actionsystem/
There is no build system but if you use eclipse, you can just export the project as a jar file. I will add a build.xml file whenever I get some time to do it decently.

Another main change was restructuring the whole archimedes SVN tree. It now follows the default suggested structure. Every project is contained in the trunk folder inside the projects name. It's much easier to understand looking than explaining. Most work will still be kept on trunk. Branches will be used for main releases so that we can correct bugs for running versions more quickly. Tags will be used to keep track of what revision is related to which release.

Finally, the other thing is that I changed the build to generate an executable file for each system (.exe on Windows, .app on OSX, executable on Linux) with embedded icons (except on linux).

My next work will focus on finishing the action system so that the application that uses the library can populate, enable/disable buttons and add dynamic itens and other features desirable. Once this is done, I'll restart working on feature for archimedes mainly bringing new features implemented in the migrated version to this old system. I've got a ton of work to do until March when I finally will have another student team working with me on the project. I'll give further news as I evolve.

Wednesday, October 10, 2007

News after almost 2 months

Well,
It is quite evident that I'm not a compulsive writter. Almost 2 months since my last post now but I've got some pretty good amount of news.

First and sad news: The paper was reject by the ETX comittee. The following reasons were the principal ones that got it rejected:
  • It was not clear enough in the sense that the english writting was not very good.
  • The paper had to focus mainly on either the project history and then be a paper about a success case of using Eclipse's RCP or on the technical side. This last one should bring to discussions the main CAD architecutres and discuss the impact eRCP could have on it.
  • The last reviewer said that the project and the article were pretty good but it lacked an implementation to prove itself usefull. I don't know if I didn't understood the comments or if the reviewer really (REALLY) didn't understand what we wrote.
So, as they say, better luck next time right? We will work more to get it accepted for next year's OOPSLA.

Other than that: Archimedes is currently almost completetly stalled. I haven't been finding time to code anything on the project with the master's work. It is sad to admit but I should only be able to refocus on the project in december or beginning of the next year. I surely hope next year I will have again another group of volunteers to work on the project on the XP course.

More personal matters and things that might interest this blog's readers. I will attend (with Mariana) at the OOPSLA '07 anyway. We were accepted as student volunteers so we will spend our whole week (from the 20th to the 25th) helping the people from the organization to make this amazing conference. I cannot promise much but I can assure everyone that me and Mariana are going to do our best to post everything we can on this blog about the OOPSLA. Maybe we even broadcast a couple talks if we manage to (and are allowed to). Once we find out what will be the infrastructure there, we will try to keep you guys up to date.
We leave São Paulo the 18th evening and reach Montreal the 19th morning. Works might start the 20th and we will stay in Montreal until the 27th (or 28th) depending on some details.

Last, but not least, I've classified with my team (Jeferson R. da Silva and Marcio Oshiro) to participate in the brazilian's finals (http://maratona.ime.usp.br/ in portuguese) for the ACM ICPC programming maraton contest (http://icpc.baylor.edu/icpc/). So I will be in Belo Horizonte from the 9th november to the 11th. We surely hope to manage to be in the top 10 this year and we are training a lot for it (which is the reason why Archimedes lost my coding time).

Well, that's about it. And remember, from the 20th to the 25th, stay tunned because news will be flowing quickly here. See you guys.

Monday, August 13, 2007

The article at last!

Just to change a bit (and follow Danilo's advice), I've been really busy but I've submitted the article at last.
The last weekend has been quite insane. Sleeping around 2 or 3 hours per night and working the rest of them on this article for the Eclipse Technology eXchange conference to take place at the OOPSLA 2007. The last result was not the best thing ever produced but I am quite happy about it.
Even if it is not accepted, the parallel developed with IDEs and CADs looks promising. Even more since I've read this article (http://sigchi.org/cdg/cdg2.html) where programming environments (IDEs) and CADs/CAMs are joined together in a design software category. Maybe with this kind of support, I can have stronger arguments further on to support my theory that CADs should have a platform to be built on, just like Eclipse is a platform to build IDEs.
I'm sorry since revisions won't help to submit the article since it is gone already but I'm sure Mariana and Alfredo (my co-authors) would be glad if the article was improved only for its own good. For those interested, the article is published at http://nightao.googlepages.com/ArchimedesETX.pdf and you can send me comments, critics and suggestions to my email, through here or any other way you can find.

With the article madness I haven't been able to do anything else so today I've taken my agenda and solved a couple things. Messages about Archimedes at the sourceforge form have been answered at last, emails are almost all solved but I still have to read about 20 articles and hear some 10 podcasts besides the university works that still need to be done. So don't expect many updates here in the next few days.

Changing of subject abruptly: this morning, while coming back from my run (to keep my not-so-round shape), I got this crazy idea. Since Ohloh is being such a success, I was thinking about a trip network just like the Lions club has but for FOSS developers to attend to FOSS conferences all over the world with reduced costs.
The idea is that most FOSS developers really love what they do and would certain attend to every single event where they can meet their idols developers or just their friends. Problem is that this costs more than a lot can afford: plane tickets, hotels, meals, conference entrance, etc...
On the other hand, when there is a FOSS event somewhere in the world, there ought to be more than a couple FOSS developers living in that place. Being so, some of them might be able to host a developer for the conference period. The campaign "Host a FOSS developer" can even be spreaded to FOSS friends or even FOSS grandmothers.
In return of being hosted, the FOSS developer could repay the hosting with commits to some project the hoster points. This way both sides benefit and even get to understand each other's world a bit better. If I get to ellaborate this idea a bit better, I will try to contact Ohloh's guys and maybe organize this. I'm sure some well known developers would love to contribute to such an initiative.

Just to finish this post, the WSL article accepted at the FISL 2007 is already translated. I just need Mariana to revise it because my english is a real crap. As soon as it is decent, I will publish it somewhere and post the link here.

Once I get more info to talk about, I will post again. Let's hope it's not too far from now.