Find Time for Java and more!

24 November, 2009

TimeFinder v4 Released – Automatic Educational Scheduling

Filed under: Java, Swing, TimeFinder, Timetabling, springrc — karussell @ 18:04

Today the TimeFinder Team (its me ;-) )
announces the availability of TimeFinder v4!

TimeFinder allows universities and schools to reduce and even avoid conflicts in the timetable! TimeFinder will improve the work of the human timetabler at the institute. A lot of work which would be done by hand to create the educational schedule could be done with TimeFinder.

TimeFinder is completely free and independent of the operating system (via Java 6). The power of TimeFinder is its algorithm. It eliminates the hard-conflicts of nearly all datasets of the International Timetabling Competition 08 in under 20 seconds on a normal laptop. And it can be applied on real data like the one from University of Bayreuth.

Pictures tells a lot more than 1000 words, so here are some screenshots and here is a video as introduction.

The first screenshot is how editing of events works

  1. create a new event
  2. then set the name
  3. and specify the start and duration
  4. after this you can add some visitors under Event Table->Persons

edit-events

And here you see how TimeFinder optimized an instance of the International Timetabling Competition 08:

after-optimization

See some more screenshots and look again here for the video documentation.

Start TimeFinder right now via WebStart! Or download the jar which is faster!

New Features

The TimeFinder Team worked hard to add the following features in this version for you:

  1. Events with any duration are now possible – without performance losings! (before only duration=1 was possible)
  2. A more robust and lightweight Swing component the TimeFinderPlanner to display the schedule/timetable of all locations and persons was implemented and replaces the JavaFX component hassle. This component is small (<30KB) and but has some dependencies (1MB). It has the same purpose as MigCalendar, but is of course not as powerful as this.
  3. Import of text files (tab separated, comma separated data). XML was already supported in previous versions
  4. Auto-import for the last imported file
  5. Cloning entities is now possible
  6. Anonymize data, so that institutes could give away there data for performance-tests and other research projects.
  7. Import of the data for University of Bayreuth (Germany) and the possibility to optimize this data set with >1500 events; >100 locations; >600 resources (persons/course of studies) is now possible and shows how other institutes could use its existing data with TimeFinder.
  8. Removed a lot of deprecated classes and removed unused dependencies (now ~11MB)
  9. Now the English TimeFinder is fully translated into German too. Translation is now simplified with a small tool.
  10. A new maven module called algo was created (~3MB), to reduce coupling of the algorithm to the GUI. Now it is theoretically possible to deploy the algorithm without the spring dependency e.g. to an optimization server.

Support

No software is complete or bug-free, and so is TimeFinder which is beta software at the moment. You are free to support TimeFinder with your constructive critique, blog posts or even money if you like to make it better. Feel free to contact me or raise an issue if you find a bug.

Check the documentation or watch an introductive video to get an overview. Keep in mind that updating documentation is still work in progress.

You can win

If you know some Java and like coding GUIs, databases or algorithms you can contact me and win experiences via joining the project!

Especially the calendar component TimeFinderPlanner could be alluring for people with Java2d experiences or interests in this area.

Thanks!

This application wouldn’t be the same without the following nice open source projects:

… and last but not least thanks to NetBeans – the only IDE you need
and Yourkit profiler, which offers open source projects a free license!

4 November, 2009

TimeFinder – Powerful Optimization Algorithm, RIA and more

Filed under: Java, Swing, TimeFinder, Timetabling, springrc — karussell @ 11:50

TimeFinder is an Open Source Timetable Optimizer for universities and schools, which uses the Spring Rich Client project to create an easy to use application with a nice user interface, a database and … more bla bla …

ok, it is a bit dingy headline and a more dingy introduction, but I would like to invite you to test the latest development version v4 of TimeFinder now! And without such a headline you woudn’t have read this. And I feel that I would like to release TimeFinder in the next weeks, so I need some beta testers. Go here to see some screenshots.

Get the dev version of TimeFinder here, double click the jar (optionally read the documentation for v1) and tell me:

  1. If you understand the purpose of TimeFinder from the website
  2. If you understand the user interface and how you can insert data
  3. If you find a bug
  4. If you need other features

Any feedback is welcome! Please contact me at peathal AT yahoo |dot| de, post an email to the mailing list or simply leave a comment here.

27 October, 2009

Griffon 0.2 released

Filed under: Griffon, Java — karussell @ 07:52

Griffon 0.2 released!

Do you know Griffon? No? In short: Griffon is a Grails like framework for writing RIAs on the JVM using Groovy.

Look here for more information:

(And here a link to  a nice groovy resource)

26 October, 2009

Link of Swing 2.0? And google collection description …

Filed under: Java — karussell @ 10:42

Just two links:

  • PureSwing Description taken from the homepage: PureSwing is Java GUI library with user API nearly identical to Swing GUI toolkit. It’s based on GNU Classpath’s reimplementation of Java Swing classes.
    Nice:

    • See the homepage for a feature overview! It is more a “removing overview” ;-) e.g.: removed AWT dependency!
    • Joining the project is very easy: just send in the patch and if it’s good it will be commited.
    • License: PureSwing is distributed under GPLv2+ with Classpath exception (allows linking with proprietary programs). This license is effectivelly less restrictive than LGPL, …
    • There is support for NetBeans GUI builder

    Size for version 20091025: 2.1 MB (core); 2.8 MB (dependencies)

  • Google collections overview

    16 October, 2009

    IntelliJ Platform and IntelliJ IDEA Community Edition are Open source now!

    Filed under: IntelliJ, Java — karussell @ 14:51

    Check this out!

    Now Eclipse and NetBeans gets some really nice competitor :-) !

    14 October, 2009

    Dependency Injection in Java!

    Filed under: Java — karussell @ 19:46

    Now the JSR330 is final! This was really fast (because of JEE 6)!

    From the JSR:

    This JSR will standardize:

    • A set of annotations for use on injectable classes
    • A typesafe, user-friendly injector configuration API that provides an integration point for higher level dependency injection configuration approaches

    The code is located at google.

    How To Test Against Deadlocks?

    Filed under: Java — karussell @ 19:40

    I read an interesting blog entry at Google, where they talk about Thread Weaver (Apache license), which can be used to test against synchronization issues.

    12 October, 2009

    VL Docking and other window docking managers for Java

    Filed under: Java, Swing — karussell @ 07:27

    Maybe you already know it;

    there are several docking managers and since April 2009 (3.0) you can include VL Docking for free even in commercial applications, because its LGPL!

    The good thing about VL Docking is (and of MyDoggy by the way …)  that it is well integrated into the Spring RC project.

    More information about VL Docking

    All Java docking managers

    (look here for an old list)

    Inactive projects

    • SwingDocking seems to me fully functional and fast; Apache license 2
    • XUI will be further developed here?; MPL; 1.6 MB (XUI-jdk15.zip)
    • JDocking CDDL; 1.3 MB (v0.8.zip) the docking part of netbeans
    • FlexDock MIT; only jar’s: 0.5 MB
    • JRichClient GPL; derivation of flexdock

    Please let me know if you know other libraries which support ‘window docking’.

    8 October, 2009

    Java Application Frameworks (not only client side …)

    Filed under: Eclipse, Java, NetBeans, Swing, Web2.0, springrc — karussell @ 11:07

    In an old post I listed all Java libraries,where only two application frameworks were listed.

    Today it is time to list some client side Java application frameworks, because I discovered some new ones while reading the W-JAX announcement. Some of the listed frameworks will make developing application with DB easier. And some of them are real 3 tier architectured frameworks. Some of them even allow you to develop RIA’s and web frameworks at the same time.

    Here is now the list of open source Java application frameworks especially for the desktop. Feel free to add some more (via comment):

    1. NetBeans RC Platform, my IDE is build on this ;-)
    2. Eclipse RC Platform, has an interesting ’subproject’ called Riena
    3. Spring RC, at the moment my favourite used in TimeFinder
    4. AppFramework which won’t be in JDK 7, but has a lot of derivatives
      1. Swing application framework fork
      2. Guice Utilities & Tools Set
      3. Better Swing AppFramework
      4. with OSGi
    5. JVx, looks very nice! Makes fast development of Swing applications possible (with db support)
    6. OpenXDev a framework which could be used as a base for your next Swing project
    7. Genuine is a client framework for Java Swing applications for which it provides basic infrastructure
    8. Genesis with Swing and SWT binding; Easy, transparent remoting; etc
    9. GWT (although only intented for javascript widgets it could theoretically being used as a rich client running in the jvm)
    10. OpenSwing Framework is an open-source suite of advanced graphics components based on Swing toolkit
    11. Leonardi Framework
    12. Jspresso is a framework for building rich internet applications
    13. XUI is a Java and XML RIA platform
    14. Swing + XUL = SwiXAT looks interesting but dead, the same for the next:
    15. Swing + XML = SwiXml a small GUI generating engine.
    16. But why xml if you have groovy: Griffon ;-)
      Now, a nice approach would be to send/receive groovy code and build the clients’ GUI on fly… this would be like replacing the browser+html+javascript system with rock solid JVM+Groovy ;-)
      Another Comment from AndresAn addtional tidbit about Griffon, it can be seen as a polyglot programming desktop/RIA framework as it supports 5 JVM languages at the moment: Java, Groovy, Scala, Clojure and JavaFX. It also lets you embed JavaFX components on Swing containers.
    17. JMatter is a software framework for constructing workgroup business applications based on the Naked Objects Architectural Pattern.
    18. Metawidget is a ‘User Interface widget’ that populates itself, at runtime, with UI components to match the properties of your business objects.
    19. Pivot a platform for building rich internet applications in Java

    Especially JVx with a webstart demo looks very promising! It even feels better and faster than an ordinary flash application!

    Commercial:

    1. Aviantes-Business-Application-Framework
    2. Jide Desktop Application Framework
    3. Jazz

    I listed only frameworks which help developers to easier build client side desktop application and only if they run in the JVM. So frameworks where the client is browser-based (aka web frameworks) are not listed here.

    For a good list of J2EE frameworks go to java-source.net or to wikipedia. (Or here, or there, or even here)

    Update: For additional comments look at dzone

    5 October, 2009

    Import/Export Code Formatting Settings from NetBeans

    Filed under: Java, NetBeans — karussell @ 20:03

    In short: To share settings (e.g. code formatting) from NetBeans with Eclipse a little bit work has to be done.

    For NetBeans you have the following possibilities

    • Either directly use the file
      'home'/.netbeans/6.0/config/Preferences/org/netbeans/modules/java/source/CodeStyle/default.properties
      
    • Use the eclipse importer. Now you can use the project within NetBeans and sync etc.
    • Or  you could load the settings (e.g. the settings from previously imported eclipse project) via “right-clicking the project”->Properties->Formatting->Use project specific options->Load from other projectper-project-settings
    • Other possibilities? Let me know!
    Next Page »

    Blog at WordPress.com.