Developer Blogs

New Facsimile project: sfx

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.

Facsimile Project Status

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.

Programming Language Benchmarks

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.

Naked PCs

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.

Re-Sequencing is Evil!

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...

SCS Membership = Waste of Time

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.

Java Generics Suck

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.

Happy New Year

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.

The PATH to Enlightenment

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.

The Devil is in the Detail...

The KISS Principle - Keep It Simple, Stupid! Anyone involved in simulation will have almost certainly encountered this little nugget of wisdom. In a simulation context, it warns the modeler against adding more detail to a simulation than is necessary to meet the simulation's objectives. It is excellent advice. Unfortunately, there are far too many simulation modelers, academics and consultants included, who keep their models simple but forget that the term is relative: any simulation that is too simple to meet its objectives will yield inaccurate results and will be of limited usefulness. For this reason, rather than promote the KISS principle, I prefer a quotation that is attributed to Albert Einstein: Keep it simple. As simple as possible. But no simpler!
Syndicate content