Dr. Ivan's Blog Medicine Art and Design Programming Music


Recent posts:



Categories:

Art (3)
Computer (24)
Education & Specialization (2)
Medicine (4)
Music (8)
This Site (2)

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.



Tags:


28.12.10 | New fe2cghe version (14.0.0), now with GUI!
Filed under: Computer — Tags: , , , , , , , — Dr. Ivan @ 01:29 — Comments (1)

My Christmas vacation is progressing in a very productive way (however far too quickly as usual). The first fruitful endeavor of some magnitude is a new version of my fe2cghe converter.

I had promised my colleagues earlier this December that (due to several international inquiries about my FE to CGHe converter utility) I would update it to include a GUI. And this is what I have been busy with for past couple of days.

So here it is! As planned, I have implemented a front-end in Java while the core utility remains command-line only and written in C++ (for the obvious reason of being far more optimized). I am unfortunately not too familiar with Java – although I must admit I love Netbeans IDE. All the state-of-the-art code completion, error checking while editing and of course the phenomenal and tightly integrated UI designer; no one can possibly be against all of this goodness. Yes, it’s kind of slow – but then again, that’s perhaps only a small price to pay.

Being as inexperienced as I am with Java, I encountered several annoying problems. First of all I have always assumed that Swing was thread-safe, which – as I know now – is untrue. Thus I had to manually spawn threads to update the TextArea I was using to display the output of my command line core utility. This was fortunately only a minor nuisance, needing merely a 10 line workaround.

What appeared to be far more annoying, was the SessionStorage Java apparently implements. From what I can understand you must invoke it yourself, however, for me – on both Linux and Windows – it remembered last opened tab anyways. This was not the behavior I wanted (I needed the first tab to always be the open tab at launch). You would have thought that this was rather elementary to fix, right? Just add a line ordering the JTabbedPane to open the first tab after the initComponents() in the ctor. But nope, apparently SessionStorage is run after the constructor which meant that I had to fool around with the over-ridden startup() function.

So, overall this has been a great learning experience.

There have been some other changes not related to programming as well: For one, I have almost completely re-written the manual which now also includes screenshots and such.

So, go and check it out. You will also find some screenshots below. And while you are viewing them I’m off to sleep and then on to soldering my pure RTL-based 2-bit 4-op ALU… ;)

FacebookStumbleUponTwitterBlogger PostRedditGoogle BookmarksDZoneDeliciousDiggHotmailMySpaceCiteULikeYahoo BookmarksWebnewsTumblrSlashdotShare

1 Comment »

  1. avatar

    whats your facebook profile?

    Comment by 1099 form — 05/01/2012 @ 09:32

RSS feed for comments on this post. TrackBack URL

Leave a comment