Blocks 0.9.1 on Mac OS X

I have no idea why I have not posted about this until now. I discovered it in February of this year and have somehow never gotten around to writing about it.

In February of this year, I discovered that Blocks v0.9.1 runs on Mac OS X 10.7 Lion! 😀

Blocks on Mac OS X 10.7

My advisor has two Mac Mini PCs in his classroom, and I received permission to use one. So I installed Python and the appropriate version of the ActiveTcl Tkinter library, and after downloading a copy of Blocks, I was met by the screenshot above! 😀

Although for some reason I did not take a screenshot, I did successfully open and save a level, as well as test out the Python version check (it worked expect for a minor bug I have since fixed only in the source). I did test it using the included Mac OS X Tkinter library, but as documented it did not work. 😦

Do not expect for me to release a Mac OS X binary with the next eventual Blocks version, however. I personally do not have access to a Mac PC for development and freezing (cx_Freeze requires you to be running the correct operating system for the executable), and ActiveTcl is a closed-source library, meaning distributing a release with it is illegal (too bad the Python devs plan to bundle a good copy of Tkinter failed with the Mac OS X installer failed). I would have to overcome both these limitations by somehow getting a Mac PC (and that will not happen easily) and by switching to a better GUI system such as PyQt (something I want to learn how to use for other projects).

So yea, that concludes the very long-overdue news. 😛 I will make this post a tad more interesting by letting you in on a secret*.

* That is, unless you have been watching my GitHub activity stream. 😛

Lately I have been working on Blocks out of a want to do some more Python programming instead of JavaScript, and I have ended up doing much more than I initially set out to do. What started as converting the GUI to be Object-Oriented (OO) has turned into me reworking nearly the entire code base into OO as well as improving the syntax checks and making it more modular. This process has greatly improved the code base by, among other things, the removal of many nasty global keywords and increased code flexibility. My plan now is to make Blocks a fully-OO structured program. However, because code refactoring, minor bug fixes, and an improved command-line open parameter does not have much draw for end users, I will have to come up with some new feature to add. Maybe. Perhaps the fact it will have reached v1.0 and is highly mature will be enough for people to download it. 😛 I am looking to finish up work sometime next month, and definitely by the year-end. 🙂

This has been the news for now.