VTK: New 2D API, Canvas and Charting FeaturesThursday, December 24. 2009Since joining Kitware in October, one of the first projects I was tasked with is revamping the 2D charting capabilities in VTK and ParaView. At first I was a little daunted as it meant digging through many of the internals of VTK, and breaking an assumption that is made in many parts of VTK - that everything being rendered is 3D. A large portion of this work is also being driven by the InfoVis features in VTK, along with project Titan that we work on with some really interesting people from Sandia National Labs. The project grew quite a bit from its original scope, and I have now added some new 2D API that uses OpenGL as a backend, with the scope to add further backends in the future. I have been working on optimizing the OpenGL case so that large data sets can be rendered interactively, and small data sets can be rendered with minimal lines of code whilst giving pleasing visual results. Then when considering user interaction with these 2D elements we decided that a higher level API would be useful, that could contain objects and propagate mouse events to items in the scene. So I set about prototyping a new canvas based API. At this point I had enough new infrastructure that I felt it was about time I got back to my original task of implementing some efficient, well rendered 2D charts in VTK. Once I had my initial prototype in place it was time to expose this in ParaView and see how everything fitted together. As you can see in the screenshot above, things are shaping up very nicely. The new chart is in the bottom right widget, the chart above is the existing chart widget. I have really enjoyed my first few months at Kitware, and have found my first project both challenging and rewarding. It is great to be working on real problems that have a broader impact, and as I flesh out these features I will try to maintain cross platform, high performance interactive charts. I think I have also added some useful new 2D focused API that can also be rendered over the top of VTK's existing 3D visualizations, opening the door to some very exciting new views on data. As a physicist I also feel it is interesting the symmetry - Qt adds 3D to a 2D toolkit, and at the same time I am adding 2D to a 3D toolkit. Hope you all have a Merry Christmas, and a Happy New Year. I will be tracking Santa with my son this evening! Disclaimer: The opinions and musings in this post are mine, and not those of my employer. Any mistakes/inaccuracies are also mine, that said I would love to hear what people think of this new work. I'm Going to Camp KDE 2010Saturday, December 19. 2009Life has been so hectic since I moved to upstate New York to start my new job with Kitware. I am very pleased to say that Kitware is sending me to Camp KDE 2010 in San Diego, CA 15-22 January. I will be presenting a talk on CMake, the new features in the recently released 2.8 version, and some of the less well known features of the CMake package, including CTest, and CDash. In addition I will be running a CMake training session for anyone who would like to learn more about CMake. ![]() I attended the first Camp KDE last year in Jamaica, and am very pleased to be attending the second Camp KDE next year in San Diego. Last year I focused on my work in packaging and open source chemistry visualization. I also met Bill Hoffman, who talked about CMake and am now working with him and many other talented people at Kitware. My wife and unborn child also attended the first Camp KDE. Now we have a six month old in the 97th percentile for length, weight and head size who will be joining my wife and I at Camp KDE 2010. I am trying to teach him to count from zero so that he has a good head start when he starts coding I won't be talking about any of my work in open source scientific visualization at Camp KDE this time, but if any of the attendees are interested I would love to discuss it and will have a few slides for a short impromptu talk... Big Snow!Wednesday, December 9. 2009As some of you may remember we moved up to Clifton Park, NY in September. From when I first met Bill at Camp KDE in January he told me about all the snow they got up here. To be honest I was starting to doubt him, and then we got some snow on the weekend and I was really excited. Today I woke up, looked out and saw we got a lot of snow! I am not disappointed, possibly a little overwhelmed... ![]() I think I am going to like it up here, Dax loves it and William is not too sure what to make of it right now. They just plowed the road (not our big drive though), and so I may try to venture into work soon. Of course Dax and I had a big play in the snow, and I think we are going to have to buy a sledge as soon as possible. Avogadro 1.0.0 Released!Friday, October 23. 2009It is with great pleasure that I announce the release of Avogadro 1.0.0. After many years of work we have released what we consider to be a stable Avogadro release on Mole Day, which seems appropriate given the projects's name. There are still some rough edges, but I think this is a good release. With your help we can fix bugs in the release while working on new features in trunk. Avogadro - Code Swarm from Marcus Hanwell on Vimeo. What better time to look back to the beginnings of Avogadro. There was a blog post made today by Sourceforge about Avogadro detailing a little of that history. I have also made a code_swarm movie visualizing the history of the Avogadro project. There have been quite some changes in that time both at a project level and a personal level. I would like to thank Google for sponsoring me for a GSoC project in the summer of 2007. Also Geoff Hutchison for giving me the opportunity to work with him at the University of Pittsburgh on interesting computational and visualization projects. Then there is my new employer, Kitware, who have provided me with an exciting opportunity to push scientific visualization and cross platform development to its limits. To finish off a great day, my wife has informed me my new espresso machine has arrived! I am going to Camp KDE in January too!
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, FOSS, Gentoo, KDE, Linux
at
18:02
| Comments (7)
| Trackbacks (0)
The Big Move and New Position at KitwareWednesday, September 30. 2009On Monday 21 September we packed the majority of our belongings into the back of a Penske truck and made the 500 mile drive (in convoy - Louise, William, Dax and myself) from Pittsburgh, PA to Clifton Park, NY. Since then we have been unloading the truck, unpacking our things into our new home and doing all those things you have to do when you move house, and several things necessary when moving between states and jobs. ![]() This is certainly the most rural house I have lived in since I was very young. We found a nice duplex on the outskirts of Clifton Park, it uses well water and I am the proud owner of the contents of two full propane tanks (no natural gas lines run out to the house). We also have a really nice wood fire in the living room, and I snagged the family room and am using it as a large home office! Thankfully they were able to hook up a cable Internet connection on Tuesday last week, and so I was not offline for too long. Tomorrow is my first day with Kitware, I will be attending a training course being run by Kitware for the remainder of the week and so won't have my first day in the office until next Monday. I will be working in the scientific visualization group on projects such as ParaView, and have had lots of ideas for future Avogadro development over the last few weeks. I am very much looking forward to working in some new areas, but also to enhancing the previous research and development I have done in the area of visualization in chemistry. I am also looking forward to working on CMake.
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, General, Gentoo, KDE, Linux
at
19:40
| Comments (4)
| Trackbacks (0)
What a Crazy AugustSunday, September 6. 2009August was without doubt one of the craziest months in the last few years. It started off with the normal "getting used to being a new Dad" type of stuff. Then as we were thinking about our upcoming trip to find a new house our car started acting funny. Long story short it was not good, and we made the decision to get a new one. We should have probably done that in the first place, hindsight is always a great thing... So we had some fun and games as we picked out a new car, checked our already stretched summer finances and finally took delivery of a shiny Subaru Forester on Wednesday 5 August. It immediately produced some awful, loud static noise as we drove it home from the showroom. By Friday they had given us a courtesy car while they figured out what was wrong. Friday night they had it back to us with a new audio system installed. Then we figured it would be great to catch up with Adam in Washington DC, and to iron out any further car bugs before our house hunting trip. So 8-9 August we stayed with Adam and checked out the Air and Space Museum. We also took William to the White House, and a few other touristy spots. He won't remember it, but he got to see the capital, along with lots of rockets, planes and satellites. On Monday I went back into work, left a little early and William was making some strange noises. When we got home I felt his head, and it was really hot. As Louise was getting the thermometer William was sick for the first time ever - all over me. When I checked his temperature it was up at 39.8C, in excess of 103F (checked with two thermometers). This scared us so we rushed him to the children's hospital, as any nervous first time parent would. As they were looking at him we started to realise that it might be quite serious. They ran a battery of tests, including urine and blood tests, cultures, X-rays, spinal fluid and constant vitals. They found a bacterial infection, I have never been so scared and stressed before. I found out that I am a very protective father, and was disheartened as more and more tests came in and we were admitted for an extended stay. All of our friends were out of town at the time too, which made things more difficult. It turned out he had an E. Coli infection in his blood. We were lucky in some senses, the antibiotic they started him on as we were admitted was one of the best for the strain of E. Coli he had been infected with. His blood only showed bacteria in the first culture they took. Still, they were talking about 14 days on IV antibiotics using a central line as an inpatient. Thankfully after talking with them they found an alternative oral antibiotic therapy that recent studies showed were just as effective. So he could come home on the Thursday evening. It was great to be home again, although very stressful to have William get so ill so quickly. I had never imagined he could get so ill so quickly, it reminded me off the waiting for them to tell us he was OK after he was born. After that we tried to get back to life as normal. Until the end of the month when we had our big trip up to Clifton Park, NY to look for houses. Friday went very badly, we saw one house which was terrible and everything else we had lined up had been rented before we got into town. Saturday we saw another house before leaving for Boston - it was OK, but not really what we were looking for. Saturday afternoon we drove over to Boston, MA to go to Jeff's wedding. It was great to have a break from looking at houses. We had a great time looking around Cambridge and Boston, the wedding was really nice and William managed to get lots of attention. Thanks for inviting us Jeff - it was a really nice day. William's first formal event. Before leaving on Sunday we visited the Harpoon brewery to sample some of their beers. We found several new places listed on Sunday before leaving Boston, so we set up appointments for Monday. Monday was something of a three bears type of day. The first house we saw was close to work, but too small. The second house we saw was about the right size, good state of repair but a little expensive and too far from work. The third place we saw advertised as we were thinking about how to compromise, saw it at 6:30pm and it was just right. So in the end we didn't have to extend our stay, found a nice place that is close to where I will work and Louise really likes it. We just had a 500 mile drive back home. That was pretty much August, I did manage to squeeze some time in for hacking on code, taking care of the cluster at work, and general work stuff. September we just need to do our first 500 mile interstate move. It should be relatively simple after an intercontinental move surely Avogadro 0.9.7 ReleasedMonday, July 20. 2009Avogadro 0.9.7 was released on 18 July 2009. You can download Avogadro here. I have been less involved in the development of Avogadro in the last six weeks due to a major event in my personal life. Still this release has some great new features in it, several of which I squeezed the time in to implement. Some of the highlights include fixing a long standing rendering bug for our Linux users (me included) where garbage would be rendered right below the tab labels. This was a fix added to Qt 4.5.0 that I discovered while looking into the issue. A nice side effect is the new inline close buttons on view tabs. I also finally got detached OpenGL views into Avogadro, as shown in the screenshot to the right. It is a little clunky right now as you need to open a new view, and then detach it. I will clean up the interface for the next release hopefully. This allows for multiple views of the same molecular scene, which can be extremely useful for certain kinds of work. Another long standing feature I wanted to implement is in too, the inline configuration buttons for our display types. If you can see the little wrenches, you can now click on them to configure that display type. This code was inspired by the inline close buttons that are in the Qt Creator open file list. Geoff worked making the configuration docks easier to hide, we now default to devoting roughly 90% of screen space to the 3D view, which I think is great. There have been several changes to how molecules are loaded/saved too, I am still hunting down some issues but this allows us to read multiple molecule files for example. Today is the last day that you can vote for Avogadro in the SourceForge Community Choice Awards! Please cast your vote if you think that Avogadro is a great tool for Academia. Tim (one of our other dedicated Avogadro developers) posted about the release and the awards too. I would like to thank several people in the chemistry community who expressed their support for Avogadro on their blogs - Peter Murray-Rust, Richard Apidoca and Jan Jensen, along with so many others who have helped to promote Avogadro on Twitter, FriendFeed and other online services. We hope you enjoy the release, whatever happens with the SourceForge Community Choice Awards it was an honour to be nominated. It was great to see all the support for the Avogadro project in the wider community too. It has inspired me to go on and do more with Avogadro - thanks to all of you.
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, Gentoo, KDE
at
01:58
| Comments (4)
| Trackback (1)
Avogadro Auto Optimization ScreencastFriday, July 10. 2009Geoff showed me a new screencast he created recently. It is made using the latest Avogadro, and is one of the first screencasts with our new and improved user interface. Geoff has also added some audio commentary with notes on the chemical relevance of the auto optimization tool. Check it out and let us know what you think - a new release of Avogadro is coming soon. I will hopefully find the time to make a few new screencasts soon too. Between my one month old son, day job and waiting on my visa application (does not take any real time - some mental drain) I have not had much spare time to code or blog. Remember that Avogadro was nominated for the SourceForge community choice awards too - click on the link below to vote for us.
Posted by Marcus D. Hanwell
in Academia, Avogadro, Chemistry, FOSS, KDE
at
19:44
| Comments (2)
| Trackbacks (0)
Avogadro Nominated for SourceForge Community Choice AwardsTuesday, June 23. 2009I am very pleased to announce that Avogadro has been nominated as a finalist in the SourceForge community choice awards this year. We are in the "Best Project for Academia" category, and I would like to encourage you to vote for Avogadro. This is a real honour for all of us, and I appreciate all of you who nominated Avogadro. We are all pushing very hard on polishing Avogadro, getting ready for our 1.0 release. It would be absolutely amazing to see Avogadro win this award, so please vote for us. ![]() There are also some other really nice projects in there too, such as Lancelot, ClamAV, phpMyAdmin and RepRap. So please take a few moments to place your vote, and tell your friends! Update: You can vote even without a SourceForge account - just enter your email address and verify your vote.
Posted by Marcus D. Hanwell
in Academia, Avogadro, Chemistry, FOSS, General, Gentoo, GSoC, KDE, Linux
at
23:23
| Comments (0)
| Trackbacks (0)
Spawning a New Process: William Aaron Alexander HanwellTuesday, June 23. 2009Exactly two weeks ago today my son was born, weighing in at 8 lbs 13 oz and measuring 21 inches long. Louise and I have named him William Aaron Alexander Hanwell, our new addition has been thriving after a bumpy start. I would like to claim first foetal attendee of a KDE conference, getting him off to a brilliant start listening to some great technical talks in Jamaica. I know most people play classical music to their unborn children, but we like to be different ![]() ![]() You can see him in the above photos just minutes after his birth, and a little more relaxed the next day in his hospital crib. Not wanting to be too run of the mill he was consistently breach, delivered by C-section and had his cord wrapped around his neck 2.5 times. Not a problem for that kind of delivery, but it would have been had we had the natural birth we were hoping for. As he was born in the US he also manages to get dual nationality (US by birth, UK from us), whilst his poor old Dad is still waiting to hear back about his H-1B visa... I think three days prior Carsten's wife gave birth too, and I believe Mauricio will also be growing his family later this year. So the KDE Edu developers all seem to be expanding their families this year, I guess the greater question is whether this was a coordinated effort So far I am really enjoying being a new father, although aware that this isn't the only big change over the summer! Appeal for Help: Avogadro Toolbar IconsMonday, June 8. 2009Over the last few days we have been working on improving the look and feel of the Avogadro user interface. We owe both Qt Software and the Oxygen icon team a lot for making this process a lot easier. Avogadro uses quite a few Oxygen icons that we have taken and in some cases adapted slightly. The sliver of screen shot above shows our tools tool bar, along with the tool and display settings buttons. We are pretty happy with the majority of the icons, which are (from left to right) draw, navigate, bond-centric manipulation, atom centric manipulation, selection, auto rotation (animated rotation about axes), auto optimise (continuous optimisation of the molecule geometry), z-matrix, measure and align tools. I would really welcome any suggestions and/or icon submissions for the auto rotate (the spinny thing near the centre), and the auto optimise (the wand with the circle) tools. I think auto rotate is OK, but it would be better if it conveyed more of a three dimensional rotation. The auto optimise wand is perhaps the worst as it does not suggest optimisation of the geometry, but I am not sure what would. Do any of you more creative types have any suggestions? I also wonder if there are nice icons we could use for tool and display settings, or a way to make those buttons smaller without losing discoverability. I look forward to hearing people's thoughts. As this is what people see when they first open Avogadro we would like to make the interface as inviting and intuitive as possible.
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, KDE, Linux
at
15:19
| Comments (11)
| Trackbacks (0)
Avogadro 0.9.5 ReleasedWednesday, June 3. 2009Yesterday I tagged the Avogadro 0.9.5 release, you can grab the latest downloads from here. Life has been hectic this last couple of months, and to be honest I have not gotten as much done as I would have liked. Still there are some great additions such as the experimental cartoon ribbon display ported by Tim from the Zodiac Zeden project. Geoff also worked on getting more screen real estate for the actual display, after we bounced some ideas around over the last few months. I think that looks great, and have always tried to ensure the maximum amount of screen space was devoted to displaying the molecule. I still have a few more ideas, but fear I do not have the time to implement them. Geoff also added a new peptide builder and David has been working tirelessly on plotting spectra. I have been working on decidedly less glamorous and less visual aspects of Avogadro. This includes improvements to our build system, I added the infrastructure required to find and build plugins/applications against the system installed Avogadro library. I also uploaded a few examples to GitHub, and David is actively working on an external plugin for a summer project. I worked on getting a CMake project that included and compiled both Avogadro and OpenBabel. I then turned my attention to making a relocatable, self-contained app bundle for the Mac. This is working quite well, although there are a few parts of the build system I would like to clean up. It does mean we have relocatable applications that can run from a USB stick on both Windows and Apple systems now. I crushed quite a few bugs too, worked on API improvements and fixed Noel's long standing feature request - to disable the visual cues when navigating around a molecule. The original Windows installer shipped with a data loss bug, when saving a molecule the original could be erased and you would be left with a zero length file. This was a Windows specific bug that slipped through, I spent half of today tracking this issue with a few other Windows bugs and updated installers have been uploaded (Tim made the Python enabled installer). Please ensure you update to Avogadro-0.9.5-win32a.exe or Avogadro-0.9.5-python-win32.exe. Hacking on Windows has to be one of my least favourite activities, and I need a couple of days away from that whole platform before I can go back and finish some of the work I have been doing... We are pushing to a 1.0.0 release, targeted for July. We would appreciate feedback on the interface, bugs encountered, the public API that is installed along with any other suggestions or offers of help. Our translations are now doing very well too, and any help improving them further would be appreciated. Enjoy the new release, another is likely only a week or two away as we crush the remaining bugs. I am also fighting to find time to implement a few more features I would really like to see in Avogadro 1.0.0.
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, Gentoo, KDE
at
20:40
| Comments (10)
| Trackbacks (0)
Vote for AvogadroThursday, May 14. 2009I just got an email from Sourceforge about their community awards. If you are a user, fan or developer please vote for Avogadro in the Best Project for Academia category. They even provided me with a nice graphics to put on the page, you can just click on it to register your vote. ![]() In other news lots of exciting things happening in Avogadro, hopefully I will find some time to blog about them soon!
Posted by Marcus D. Hanwell
in Academia, Avogadro, Chemistry, Gentoo, GSoC, KDE
at
15:25
| Comment (1)
| Trackback (1)
KDE GSoC Sprint Winding DownTuesday, May 12. 2009The KDE GSoC sprint is over, and we have all returned to our respective homes. We lost a couple of people who had early flights on Sunday, I snapped a fairly blurred group shot Saturday evening, outside of the MIT Stata Center. After an intense day of hacking we headed out for food in the middle of a torrential down pour. We had some great Indian food, ice cream and then went candle pin bowling before they closed at midnight. ![]() Sunday morning we got back into hacking pretty early on. We debated the merits of different editors, the role of desktop and internet applications and debugged a few issues with development environments. We also got Dunkin' Donuts coffee and some very tasty burritos. Sunday was cut short by flights, but Jeff very kindly ferried the two groups to the airport for flights at around 6pm and 8pm. As I was in the second group we took the opportunity to walk into Boston from Cambridge and take a look around. As we crossed the river I took the opportunity to take lots of photos and stitch them together into my first panorama. I think it turned out quite well, I am just starting to get familiar with the software. ![]() I spotted a few posts from Chani and Alejandro about the event too. It was great meeting you guys and I hope you all have a great summer of code! KDE GSoC Sprint in BostonSaturday, May 9. 2009We all arrived yesterday in Boston, got to know each other and did some hacking. Yesterday evening we all went to an iMax theater to see the new Star Trek movie. We have spent most of the day talking code and hacking in a small room in one of MIT's buildings. ![]() It has been a pretty productive day, and it is always great to meet up with KDE developers old and new. Everyone is heading out at various points throughout tomorrow. Thanks to Jeff and Qt Software for making this event happen. Avogadro 0.9.4 ReleasedSaturday, May 9. 2009A week ago today we released Avogadro 0.9.4. If you would like to try out the new release then you can grab packages and source here. No pretty pictures this time as I am at the KDE GSoC America sprint in Boston, MA and only have my little Eee PC with me. I will see if I can remedy that when I get back home. This week has been really busy. I have been working hard on getting an Avogadro, OpenBabel super project set up on the Mac. Then using the CMake functions to make a fully relocatable app bundle. This is really experimental right now, but if you would like to play with it then check it out in the downloads section. It is actually the 0.9.4 release with a few patches to our translation files and some other small fixes. It can be run from any directory, and contains Qt and OpenBabel. There were a few problems with the 0.9.4 release we discovered a few days after the release was made. The main user visible issue is with the translation files not loading, and so we will hopefully get a new release out soon. This is already fixed in head.
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, KDE, Linux
at
19:20
| Comments (0)
| Trackbacks (0)
New Job at KitwareWednesday, May 6. 2009In January I started looking for a job as my postdoctoral position at the University of Pittsburgh was due to end in September. I took a break from this to attend Camp KDE, the first KDE meeting held west of the Atlantic. I gave two halves of two talks (so a whole talk in total) where I talked about two things I work on in the open source world - scientific visualization and packaging. Bill Hoffman also attended the meeting and gave a talk about CMake. While watching his talk (and I think the same happened while he was watching my talks) it clicked that Kitware would be a great fit. Once I got back to Pittsburgh I sent off a copy of my CV, and they very quickly set up some phone interviews. After that they flew me out to Clifton Park for quite an interview, if you get me over a few beers I might tell you all about it... The more I learned about Kitware the more I liked it. Their language of choice is C++, they do a lot of scientific visualization, such as ParaView, work with national labs, academics and companies on interesting scientific problems. Then there are the software process, cross platform build, test and packaging projects. They even use Qt, and will likely use it more now the license has changed. Most of their software is released under an open source license too! I really got on with Bill and his family when I met them at Camp KDE, and came away with a very good impression of Kitware after the interview. I accepted a job offer for the position of research and development engineer at Kitware in Clifton Park, NY. Due to being British, and various visa issues I will not be starting there until October (assuming all the visa paperwork falls into place). My wife and I are very excited about this opportunity at Kitware. So wish me luck, I am leaving academia after quite a long stay. Don't tell anyone at Kitware, but most of the stuff they want me to do I would gladly do in my spare time Qt Creator, CMake and C++/Qt DevelopmentTuesday, April 28. 2009I have been experimenting with Qt Creator since the first release. I have always preferred a minimal editor for development work, with my main needs being good syntax highlighting, the ability to switch between different files quickly and something that stays out of my way as much as possible. Previously I had used Vim, Kate and several konsole instances the majority of the time. Recently I have been looking for something with better integration, and so had been slowly keeping an eye out for a lightweight IDE. My main requirements were something lightweight, good C++ support, ideally good Qt support and CMake integration. Over the weekend I tried the latest Qt Creator 1.1 release and was really impressed. Seb Ruiz made a great post on Qt Creator 1.1 that summed up many of my thoughts, and gave a quick walkthrough. It was not immediately obvious how to import a CMake project, I was looking for an import project option. All that is necessary is to go to file and open. You can then open the base CMakeLists.txt file for your project and the CMake plugin will do the rest. From there on in you get great integration with the build system, version control (Git and friends), and your friendly GDB debugger. Under projects you might want to quickly add -j5 (if you are lucky enough to have a quad core machine) to the additional arguments input for make, and select the main executable target for your project if you also have several other executable targets (unit tests etc). The first time you debug a project you will be prompted to build the Qt debugger helper. Then the integration with GDB really wins over using GDB directly, or using ddd which I had been using more and more recently. I would highly recommend trying Qt Creator if you are looking for a lightweight, cross platform IDE. There are certainly other great IDEs out there, but I think that Qt Creator is a great fit for my development style (and may be yours).
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, Gentoo, KDE
at
11:13
| Comment (1)
| Trackbacks (0)
CMake Performance with Open BabelSaturday, April 11. 2009Recently, Luca made a post comparing the speed of CMake and autotools in which some timings were posted. I have to say that I am not sure I agreed with the conclusion and have had a very different experience with the projects I am involved in. As with anything your mileage may vary, and I have not looked at Wesnoth. I think it is questionable at best to include the time it takes to build CMake, but not autotools. Seems like this is a one time cost and the build time is not that high for either. All tests were performed on my quad core Gentoo box at work. Each step is for the first cold run as would normally be the case when compiling Open Babel from source. The make step used `time make -j5` and I have listed the real time in each case. The timings are shown in the table below. They seem somewhat similar to the experiences of the QGIS developers who made this move quite some time ago. All times shown are in seconds and are the real time reported by the time command.
For those interested, on this system the total CMake compilation/installation time (cmake-gui disabled) was 1 minute and 54 seconds. The compilation/installation time for automake, autoconf, libtool, m4 was 2 minute and 14 seconds. I am not sure how relevant either of those times are, other than to show neither of them take that long to compile and install. Gentoo users/developers may or may not have CMake installed, most other developers will install the binary packages for either one and are likely to be much more interested in how well it integrates with their development environment, compile and install times. As a developer I prefer CMake, and have been using/maintaining the CMake based build system for Open Babel for over a year now. It was originally contributed by the KDE Windows porting team, but I found that I spent less time waiting for it to do things when I was working on code too. Add to that the extras CMake comes with, such as CTest, CDash and CPack I think it makes a very attractive option for many projects. I am also hoping that it will allow Open Babel to drop maintaining a totally separate build system for MSVC. I am sure the Open Babel autotools build system could be optimized (I never tried), but when you add in the additional benefits mentioned above, support for multiple targets such as makefiles, XCode, MSVC, Eclipse etc, one shared language/syntax for all build files and an increasingly polished competitor to autotools, I honestly think it is a sensible choice for projects to move to CMake. There are a few less well known features such as Fortran module dependency parsing that I think are fairly unique and valuable, in scientific coding at least (and I have used the Fortran module dependency parsing at least once and was pleasantly surprised). Full disclosure: I recently accepted a job offer with Kitware, and will start in the Fall assuming all the visa paperwork falls into place. The opinions expressed here are my own. I think it is great to discuss issues like this objectively, and hope to be a part of making CMake a better build system. As with most software - there are areas that need improving.
Posted by Marcus D. Hanwell
in Chemistry, General, Gentoo, Linux
at
11:17
| Comments (10)
| Trackbacks (0)
Avogadro 0.9.3 ReleasedThursday, April 2. 2009Yesterday, on April 1, we tagged and released Avogadro 0.9.3 exactly one calendar month after 0.9.2 was released. This has been quite a big month for Avogadro - I took it to the APS March meeting and the Q-Chem workshop. To the left is a screenshot of the latest release showing the electron density of a vitamin C molecule with the approximated electrostatic surface potential mapped onto it. We made quite a few fixes and improvements leading up to the APS and Q-Chem meetings. The highlights are in the release notes. Some of my favourites are the animation of molecular vibrations, plotting of IR spectra, improved rendering/handling of surfaces including meshes with colours mapped to their vertices. The Windows build is also fully relocatable, meaning it can even run off of a USB stick. I am hoping to do the same for the Mac and Linux builds too. I made several improvements to the super cell builder, surfaces and even made a start on a z matrix editor (not ready yet). To the right is the ray traced image of a larger molecule and one of its molecular orbitals. The POV-Ray rendering code has also seen quite a few improvements. I have been experimenting with generating movies from POV-Ray rendered images too. I am planning to make improvements to our build system on Windows and Mac in order to make packaging easier. My main focus is still Linux development, but so many people insist on using other operating systems. Other more exciting things include producing videos of molecules rotating, vibrating, trajectories and using GLSL to improve the rendering performance with big systems (>25,000). We would appreciate feedback on this release from the wider community. I am really pleased to announce we have gained at least one new contributor this month, David Lonie, who worked on the new IR spectra plotting code. I have made a new ebuild for Gentoo, prepared a Windows installer, Geoff has made a new Mac package and there is ofcourse source. I am sure other distros will have packages ready soon too. Hope you enjoy the graphics - videos to come soon!
Posted by Marcus D. Hanwell
in Avogadro, Chemistry, Gentoo, KDE, Linux
at
12:13
| Comments (2)
| Trackbacks (0)
(Page 1 of 12, totaling 231 entries)
» next page
Competition entry by David Cummins powered by Serendipity v1.0 |
Me![]() Calendar
QuicksearchCategoriesSyndicate This Blog |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

