The Illusion of Progress

Take my hand and let us dive into the wonderful world of my current projects. Take a brief glimpse on the wonders at your feet.

First of all, why is this post called the illusion of progress? For understanding it, you need to know what I did in the past weeks. Nothing. I did nothing. Already scratching your head? Ok, let me explain.

Sometimes when you’re involved in many projects you may feel like you’re going round in circles. You keep moving without reaching your destination. In short: I needed a break. So I took some time off. I enjoyed living together with my beloved wife and the cats, watched some shows and movies on TV, jammed a lot on my guitars and played World of Warcraft. The usual stuff non-geeks do. Neither did I plan to have coding holidays nor did I initially knew how badly I needed them. I’m even tempted to say it all happened subconsciously. I did not count the days so I’m not sure when I stopped. Must be more than three weeks now. I even did not think much about it. You know, time just flies. Today, I wrote the first lines code since then. Again, I did not plan any of this, it just happened. I won’t say I’m something like recharged, I don’t know. But most notably it feels right again and that is what really matters.

The code I did today was for AnsiLove/C, a port of AnsiLove/PHP to the C programming language. Most of you may have noticed that Ascension 2 still has not been released. For good reason. I created a framework for rendering ANSi art, which was the major feature I had on my roadmap for Ascension’s 2.0 incarnation. The framework uses AnsiLove/PHP to render ANSi art, invoking PHP CLI which is installed by default on Lion. AnsiLove.framework works out of the box, so everything was fine. Then came App Sandboxing. Guess what? It’s not my framework getting sandboxd denies, it’s PHP CLI itself. It seems some tasks are just not intended to happen in sandboxed apps. I know I can use temporary entitlements (which I’m actually doing in the current development build), but that’s no solution I feel comfortable with. In the end I had to realize it’s not a good choice to bundle loads of PHP scripts into a native Cocoa app. Knowing there’s nothing like AnsiLove available neither in Cocoa nor in C, what would you do? Giving up? Not an option. There is just one way: I have to port the whole friggin’ thing by myself. That’s what I’m doing right now. But why to the C programming language? Most people might have ported it directly to Cocoa. Well, let’s say it’s a noble gesture. I just had to do it in C. This is for the ANSI scene and all those ANSI art lovers out there. Someone else, running Linux, BSD or whatever, will be glad somebody choose to develop it in C so it can be used for tasks or embedded in applications on those operating systems. AnsiLove/C is not intended to run on the Mac only, it should run on all common OS, even on friggin’ Haiku. I mean I already have my framework which will run perfectly as a Cocoa layer on top of AnsiLove, wouldn’t it be egoistic to develop the whole thing in Cocoa?

So this is what’s happening in the future: I finish AnsiLove/C, then I’m gonna update my AnsiLove.framework to use AnsiLove/C and finally I’m able to finish what will be Ascension 2 one day. Excited? I am. Again.

4 notes

Show

  1. three-one-three reblogged this from byteproject
  2. byteproject posted this