Facsimile has become heavily reliant upon the JavaFX GUI/3D toolkit. Up to now, we've been using ScalaFX as our JavaFX interface, but we've found some issues with it. As a consequence, we're launching a new project, called sfx, to create a lightweight Scala wrapper for JavaFX for use within Facsimile.
It's been a while since I last posted, and I thought now would be a good time to update the project status.
Facsimile is not dead, merely having a nice, long nap. I changed jobs around six months ago and my new employer has monopolized my free time, effectively halting Facsimile development. This is not a permanent state of affairs and I hope to resume work on the project shortly.
As always, if you'd like to participate in the project, please feel free to get in touch via the contact page.
The relative performance of different programming languages has always been of great interest to me. I began my professional career back in 1986 when I worked as a developer on a now defunct commercial simulation product called See Why. See Why (developed at the time by a division of Istel Ltd. that is now better known today as Lanner Group) was a library of FORTRAN 77 routines that supported the development of visual, interactive discrete-event simulation models.
See Why was the original foundation of the still-popular Witness simulation application. At that time, Witness was a front-end to See Why that was also programmed in FORTRAN 77.
Some time ago, I blogged about the so-called Microsoft Tax - the hidden added extra cost that we all have to pay when we buy a new PC, if we happen to want to use a non-Microsoft operating system. At the time, none of the major PC vendors bundled anything other than Microsoft products with their hardware.
Since then, things have changed - a little.
I recently attended a simulation user group meeting at which an excellent presentation was given on the assembly line balancing problem (ALBP) by Dr. Dave Sly, the President of Proplanner. Dave outlined what solving an ALBP involved (allocating tasks to stations on a manufacturing production line), the constraints that must be satisfied by a feasible solution (satisfying task precedence requirements, meeting the required cycle time, amongst many others), and how his ProBalance software can be used to assist industrial engineers with line balancing. If you're doing line balancing, then the sheer complexity of the issues involved means that you're going to need a tool like ProBalance.
However, Dave's presentation touched upon a related problem that has been a sore point for me for many years in the automotive industry: job sequencing, and - in particular - job re-sequencing. Let me try to explain why...
The Society for Modeling and Simulation International (formerly the Society for Computer Simulation, SCS) have to be the most inept "professional" organization that I have ever encountered.
My first dealings with SCS was some 8 or 9 years ago when I first took out membership with them. It took something like five months before I heard anything from them - and just a couple of months after that, they were sending me Past Due notices on my following year's membership - despite never having billed me or sent me renewal details. I stuck it out with them for couple of years, but in the end, I'd had enough and canceled my membership.
The implementation of generics in Java is pathetic! C# was the first of the two languages (let's face it, C# is so similar to Java that one might make the mistake of thinking that C# was merely Microsoft's embraced and extended version) to release a compiler supporting generics - a feature that allows classes and functions to take type parameters, somewhat akin to the templates feature of C++. As a huge fan of the latter, I found the C# implementation intelligent and well thought out, even if it was a little restricted by comparison. Java has been around a lot longer than C#, and has had far more time to formulate a superior generics implementation. It has failed miserably to do so.
Firstly, Happy New Year to you all! I hope 2007 is a great year for you and your family.
It's also time for a brief progress report on Facsimile.
In my day job, I've been relocated to an office nearer where I live, so I have a 20 minute commute each way instead of a 90 minute commute each way. I started at my new location on Monday, and started off by working on one of my AutoMod simulation models. I have a laptop, and this model was on its hard disk.
I quickly realized that my simulation was not loading, but appeared to have hung whilst reading in a kinematic movement system. Now AutoMod (I'm using version 10.0 for reasons that I may elaborate on in a future blog entry) does not have good tools for diagnosing this type of problem, so I had to try everything I could think of. It goes without saying that there was nothing in either am2out.dat or am2err.dat - or any of AutoMod's other output files - that would indicate what the problem was.