Antenna – Preprocessing Reloaded – WTF?

it’s like the matrix reloaded.. something went wrong.. when the antenna guys added the new v2 preprocessor.. trying to move closer to j2me polish? integrating the same bad decisions.. amazing how things go sometimes..

i’ve been working with an older antenna version for quite some time now. i don’t see a reason to upgrade. or let me put it another way: i see the need to replace antenna with something else. or new. or maybe add a v3 preprocessor to it.. :)

i’m not saying antenna or j2me polish are bad tools. looks like they are good if you want tools that integrate tightly with your IDE. but i want something else. clean preprocessing directives. clean API. made for command line and/or ant use.

in my rage :) i totally forgot to mention a few things. for example this: in my world i’d like a preprocessor to understand

#if true

without me having to define anything. simple things like that.. i also simply don’t like defines that look like

#ifdef something:defined
or
#if something:defined

instead i would argue that

#ifdef something
or
#if something

should suffice. and i would also argue that it is a good practice to keep names of defines all uppercase. and reserve lowercase to other things. like for example built-in values or variables..

as you can see this is a lot about me not liking something. nothing else.. i guess..

well, my two cents only..

tfdj

J2ME Development – The way it should be

I’ve been quite busy with work lately. So I did not manage to update my website or this blog in quite some time. But this is definitely worth a post:

J2ME Development – The way it should be

Take a look at the Opposite Lock Development Video. They show you how to write J2ME games the right way. You don’t need a thousand different jar files to target a thousand different phones. There is enough common ground within the J2ME platform. And look closely how cool things are as long as you target J2SE, too. Not only for the editor(s). But for the game, too.

I always hated working primarily with the WTK emulator or going to the real phones too early. You fix device specific bugs and issues with them. But you do everything else on the platform that is most efficient for it. And that surely isn’t the WTK emulator or a real phone.

I’m trying to do the same with my RunME emulation layer and the IntensiBuild system. My framework is not as advanced as what the Numfum developers show in their video, but it gets the job done, too. For example I have JamJam (formerly known as BlockShock or IntensiTris.. :) running on most MIDP2 devices and on the desktop (via Java WebStart). There are only minor differences between the versions. (And of course I can build specific versions to allow for different soft key codes and little glitches in the oh so perfect J2ME world. But the same JAR will run on all phones.)

For Galaxina – my next game – I had to create an editor for the enemy flight paths and the level design. There I, too, embedded the game into the editor. It makes total sense. Of course by far not as cool as the Crysis Sandbox.. :)

I really hope I find the time to finally release RunME and IntensiBuild to the Open Source world. So far work has kept me from doing it.

Slideshow Engine

One of my older projects is a generic slide-show system. I’m updating this right now as part of one of my commercial projects. But I’m thinking about open sourcing at least the old version. If you should have a commercial interest in a generic slide-show system for J2ME, please contact my business partners www.psychocell.com.

Do’s and Dont’s of Symbian Development

After reading some (in theory :) useful comments on Symbian development here, I thought adding my own two cents could make sense. Here we go:

DO Use Python S60 to write applications.
DON’T Use the Symbian C++ SDK for anything.

Oh how much anger do I feel when looking back to my Symbian C++ programming days.. :) The most horrible SDK I’ve ever had to work with.. Of course, in the last four or five years the SDK has improved quite a lot. Especially the Eclipse-based Carbide IDE seems to provide a rather good development experience.

Anyway, I’m happy that I was able to move on to Python S60 and J2ME development.

tfdj

On Piracy

Finally some intelligent words on software piracy: Ignore Software Pirates Check out the /. comments, too.

I personally think that copy protection and fighting piracy implies you have a shoddy product and you’re trying to get as much money out of it as you can. Ok. Oversimplifying a bit.

Now take another useless comment like this from the Tetris father.

Of course this is a high level system discussion. But putting wealth and prosperity over freedom (of any kind – and for god’s sake, FOSS is about freedom :) is plain and simple stupid.

Anyway.. the world we live in.. funny..

tfdj

Rails – A final verdict? :)

If you haven’t read Zed’s rant, yet, do so now: Rails Is A Ghetto

Here are my two cents..

I never got into RoR myself. Looked at it. Saw some weird stuff. Dropped it. When I had to write some “web services” I wrote my own stuff. No Mongrel at that time. Later, when Mongrel was around, I had to work with it. And, well, it was ok. But I saw things I didn’t like. But I guess if you could see my code, you’d puke.. :) So what the heck..

But what about Zed.. He’s funny.. The rant is funny.. But I did not really get the ‘smart’ part. About smart people and everything.. Wouldn’t someone ‘smart’ see it coming all along? Now he doesn’t exactly say he’s smart (or that he’s not).. But I’m saying: It’s a funny rant. But in a way it’s also redundant. Look at the Rails community.. That’s enough.. :)

I currently enjoy writing Java code for the J2ME platform. How sick is that? Pushing my second (commercial) mobile project out the door. Woohoo. 2008 – The Java Year. LOL. Looking forward to Android already..

Whatever.. Happy New Year, I guess..

tfdj

RoR Scales

Some interesting points about RoR and developing in general. And no, I don’t think 1.5 million unique users per month is that much traffic to say anything about scalability of RoR applications. But that’s not too important here. What is? Quoting from here:

I think it’s important for people new to Rails to spend some time learning Ruby first. Most Rails converts are coming from the Java or PHP worlds, and it’s tempting to force a Java or PHP mentality of coding into your first Rails app.

Seen this one far too often already.

Whenever you’re developing a new feature, ask yourself if it can be written as a plugin rather than added directly to your web app.

This I consider important meta advice. All to often we are tempted to add that new feature ‘just right here, yes, this looks ok’. Don’t. Try hard to put it somewhere outside. In the end you’ll be happy about “subsystemizing” and “modularizing” your application. Obvious? Yes. Practiced? Hardly. And yes, I know about the “Myth of Reuse”. But that’s just not a contra-argument. Sorry.

Good vs Bad Developer

After my previous post I started reading through the many comments to this post:

What you’re not getting about Ruby

Here’s my take at a definition of good vs bad developer:

* A bad developer will moan about not having the compiler tell him about an undefined variable when working with a dynamic language. A good developer will just use testing and other appropriate tools to make sure the code is correct.

* A bad developer will moan about 20.minutes.ago and argue that 20 should be an argument to a ‘make minutes’ functions because this is how 99% of all developers expect it to be. A good developer will embrace the simple, concise and clean new way of writing code and use discipline to not let this grow out of hand.

Meta programming is a topic in itself. Here the good, the bad and the ugly are sometimes hard to differentiate. I would argue that some of the meta programming stuff going on in the currently important (and hyped) Ruby libraries (RoR et al) is going too far. But somehow it’s OK. Because those guys involved are OK with it. Overall, however, I would argue that a truly good developer would not overuse meta programming. “method_missing” is a powerful but dangerous beast.

One more definition of a bad programmer: Someone who uses PHP. Check this example. Posted in response to the 20.minutes.ago Ruby example:

<?php
$d = strtotime("20 minutes ago");
?>

Agile Rockstars?

Very interesting read (taking the comments into account, too) on WTF:

The Great Pyramid of Agile

Interesting because so many “from our domain” still don’t get the basics. It is all about good developers. And yes, in a way the process or approach does not really matter. But it would be misleading to just say “Agile doesn’t work”. It’s a nice way of developing software. Nicer for the people involved. And no, the pyramid analogy is not a perfect analogy.. :) If it were a soft pyramid, then maybe..

A few posts before the Agile post I found another of the “rockstar” rants:

Rockstar Programmers

Again, the really interesting parts are to be found in the comments. Or in the “balance” between the rant and the comments. I tend to agree with “jet”s comment – if we accept the rant’s definition of “rockstar programmer”.. Rockstars will produce unmaintainable code. (But who doesn’t? :) The Graham and Joel arguments correctly differentiate between rockstars and good developers.

Not saying these two issues are directly related. It’s just funny to read through it and thinking about good developer vs bad and vs rockstar.

LISP

I finally understand why I’m not allowed to use Lisp

Funny rant. But look at the comments, too. I love this one:

The big mistake is thinking Lisp is going to grow by first being adopted
in Tall Buildings. They are the drones, the lemmings, the sheep. They
follow where We the Blessed Gurus lead them. But this time it is to the
slaughterhouse, because the world needs only fifty Lisp programmers to
write All the Code.

Amen.

tfdj

Knuth on Patents

i just found this on reddit: Donald Knuth on Software Patents

good to have him on the right side. but no surprise, i guess.. :)

tfdj

« Previous PageNext Page »