Tuesday, August 28, 2007

Good reads and the advent of facebook apps

Since being nearly there with the exporting to joomla business, I've of course been sidetracked by the sweet lure of making facebook applications.

I've done a couple of fairly simple, but quite workable ones. One interesting thing looking closer at facebook, is that they _do_ actually allow javascript in their pages. They just restrict it heavily.

One idea I have in May was to make facebook a target for the composer (or what I might end up calling it), but dropped it due to js being unsupported. Now, however, I might be able to.

Even though the composer needs shortsloads of js to get up and running, it doesn't necessarily mean that its output has to. I'll sleep on that a bit.

But then there's William Gibson's new "Spook Country" which is just brilliant. Must have. trust me.
I didn't like the earlier later ones, really. Only Pattern Recognition, and so-so at that. But Spook Country is very much just that :)

Tuesday, August 21, 2007

The "Life of Brian" definition of language choices

Here's the problem(s);

1) Most of the people trying out new shiny interesting programming languages and concepts are young and have relatively little experience writing code (at least, compared to (2)).

2) Most of the people with years of programming experience want to relive the last programming language five-year learning curve like they want a hot poker stuffed up their .. favorite gaming console.

Relatively few people have the relevant experience to compare between the new and the old. Mostly this is due to natural reasons, the new being, well.. new and everything. But the biggest problem in my opinion is that learning J2EE (as it was called back in the days :) was so staggeringly hard and complicated, especially since it didn't take you anywhere near where you wanted to go, forcing you to endure Struts piled upon JSF to get anything done. That experience scars, and makes people more wary of learning new things.

So when anything new comes around, they'll just stick to the beef they've already paid for, thank you very much. One person I've spoken to has actually declared that Java was and will be the last damn language he'll learn, and thats it.

On the other side we have mostly young, daring and early adopters who try, mostly in vain to define why Ruby (with or without Rails), PHP, Python or even NBL, sorry, Javascript, is a better choice for web development.

The reason they try in vain is because they do not have the experience to compare, they just feel that they can deliver quite a lot in a short amount of time, and having a fairly simple time maintaining what they develop as well.

But what is needed is senior coders with a solid experience of both sides. If you are one, please be seen. Blog, write articles, get involved in the projects you love and use. Do something new. Anything.

Why? To save the people around you from suffering technological blue-shift and be cut off from the very tools and languages which could save their projects.

Which brings out the question of my own expertise, of course :)

I've been teaching IP routing and general networking courses (firewall-1, Netware (Yes, I'm that old)), routing stuff during most of the nineties. I started fooling around with java 1998, founding my own company in 2000 as a programmer, and been involved in fairly high-profile J2EE things since then; Deep-down PKI CA coding, Distributed J2EE WPKI certificate enrollment and verification systems, Web-based (Tapestry) seling campaign systems, and a lot fo other stuff.

So I *know* J2EE.

During the first years of Java, the critique was very harsh; It was more than twice as slow as C/C++, it had a broken implementation of OO, it was unreliable due to GC, etc.

The people rallying for Java (myself being one of them) did so because they felt that they could be much more productive, and get a codebase which was easier to maintain, compared to, say, C++. Over the years the Java VM got smarter and quicker, up to the point that even Java's main derailer, Microsoft, decided to make it's own VM-based language(s).

Today, the new and upcoming scripting languages like Python, PHP, Ruby and Javascript (among others) gets ridiculed in *exactly the same way* that Java was - by the very people who defended Java from the same arguments, and for the very same reasons, ten years earlier.

That's really priceless :)

getting back to the title of this blog entry, I want you to remember a scene from the excellent Monthy Python movie "Life of Brian", where a Roman soldier manages a long line of people coming out from the courtroom, asking them if they're to be crucified or freed. Most answer "crucified" and the soldier prompts them to go to the left, and take one cross each. Please see http://www.mwscomp.com/movies/brian/brian-22.htm for reference :)

Today, I feel that the people who don't even try to look at the new tools available to them, is pretty much like these convicts. You actually do have a choice, you know.

Also, my own experience (starting with Javascript two years back, recently involving PHP) has been that the new languages and frameworks comes much cheaper, by orders of magnitude, than did J2EE.

I have done in dojo (javscript framework) and PHP combo some fairly simple things in two weeks, which would have taken months and months of development time if done in Struts or similar frameworks. Yes, Tapestry is better, but costs a lot of complexity.

Also, I am not tied in to any tools. I use no eclipse, no ant, no maven, I use VI, sometimes Kate or wordpad, depending on which machine I'm sitting. I know what I do, I _see_ what I do, and edit-to-tryout time is around 20 seconds. That's the time ti takes for me to copy the last versions of a couple of files to my web-hosting.

What do I do? Well.. I do This, for instance. It's very alpha and kind of hard to grok, so be gentle. The project has taken most of my spare time since january, but if I would have used any J2EE framework, I would still be fighting Hibernate over which Fetchtype to use for a certain class, and be two years off :)

Monday, August 13, 2007

I are Dunecat

Hee heee. I just wanted to share a lightyears short of production-quality image of the beginnings of my new user info page. The main reason of having this is to manage and edit developer keys that will be compiled to a config file for teh abckend, so that you don't have to put them up in the html page.

However, I couldn't resist adding the option of storing a mug shot as well. As you all can see, I am actually dunecat. Who knew?

Wednesday, August 8, 2007

At the bar, ordering a Beer

If it weren't for all the small, nonlethal things I've skipped over during tha last three months to get here, today would feel like a complete success.

As it is, is feels like having ordered the Beer, but not yet having it in close proximity, This is of course a huge leap forward from being able to see the bar further down the hill last week.

So what have happened to excuse such an unusual display of extreme exuberance, complete with potent inebriatic imagery? Well, glad you asked. I've finally managed to export the jda runtime, with assorted supporting files into an html-file which is itself generated directly from the database, converting general element and/or infotron definitions to html tags with correct top/left placement, correct jda initialization, connections between infotrons etc, etc,

What this really means is that I can now export pages made in the composer as true stand-alone artifacts. The only thing left now, is to create an archive of the generated html-file,and the backend php-scripts, as well as config file for devkeys replacemenet, and some extra UI components in the composer to handle development keys ... and some extra function in all blueprints that require devkeys to define them (and use them, instead of hardcoded values).

But other than that, it's as good as finished :) I don't have any inconceivable problems at the moment, just drumming my fingers until the barman gets back from the fridge.