16 Ağustos 2016 Salı

Daily Update 20

I haven't coded any big features in the last few days, mostly done small edits in the code preparing for the final submission and a couple of bug-fixes relating to the GUI. With the graphical user interface complete, I think pretty much all features I proposed in the original plan are completed. Of course, there are a lot of things that could be further developed and ideas that could be implemented in the future, but I don't want to implement anything too new in the last week of GSoC.

Since there aren't any serious programming tasks left, I'll spend the last week editing my code and also writing about GIFScript. Maybe I'll post some more examples and also some excerpts from the tool's features to demonstrate its capabilities. I'll also communicate with my mentor to make sure everything's alright with the submission.

8 Ağustos 2016 Pazartesi

Daily Update 19

Today I made some tweaks on the GUI, relating to error reporting and some convenience features, like line numbering. Syntax highlighting is now performed asynchronously, presumably making the interface more responsive, though GIFScript files are usually short. I started working on parenthesis matching, which might be a useful addition. Also made some minor tweaks related to the module loader. I'm happy with the basic editor, and the overall project seems to be slowly wrapping up.

I tried to push my recent code to GitHub towards the end of the day, but unfortunately Eclipse refused to submit. I'll check on the fix later, I think it might be related to a recent OS upgrade.

1 Ağustos 2016 Pazartesi

Daily Update 18

I haven't posted any updates lately, but I kept working on the GUI implementation as planned. The interface is quite straightforward, but a few unique features exist to help describing GIFs. One point I spent time on was creating a syntax-highlighted editor, which I used RichTextFX, a JavaFX based implementation of a flexible styled editor. Following the documentation and examples, it was easy to get decent results for JavaScript, but I might spend more time for code constructs specific to GIFScript.

Another problematic point was providing quick previews of the GIFs generated from the scripts. The current command line tool only reports the product once the whole frame rendering and compression steps are complete, a lengthy process as I mentioned earlier. I came up with a possible solution using Java runtime class loaders from my earlier work, but I'll have to work on it this week to actually get it working with multithreading.

I also worked a bit on some security features, to forbid any script run by the program from writing to files, since a normal script should only need read permissions.

I'm slightly behind my schedule since I was supposed to complete the GUI last week. But I don't think it will be problematic since the workload of the last weeks is much less.