Tuesday, May 20, 2008

And they're off...

Well, I put together my new server system that will (hopefully soon) be the host for my email and web sites.

Soon I should be saving a few buck by 'hosting my own'.


Thursday, May 15, 2008

And baby makes three...

Well, there isn't actually a baby.

But, my original website (that is kind of my baby) is back in semi-active development.

I haven't gotten very far, because I am waiting to see if I have to stay on the original language that it was written in (PHP) and just add AJAX functionality with DOJO. Or, if I can completely rewrite it in Java or Django.

Now that I think about it, rewriting it in both would be a useful exercise - and advertisement.

Now I just need to be able to host everything myself.

From home.

Oh what a tangled web...

I have owned several domains for some time, and I seem to be accumulating them (slightly).

When I started (I can't remember exactly when that was), I only had one. Then I bought a second one that pointed to the first.

Now, I have five. And I haven't gotten much further than I was when I had two.

At this point, I have the two that pretty much point to the same place - a web site hosted on someone else's servers. And a third that is pointing to email - hosted on someone else's servers.

Since I now have 'extra' domains, I can afford to try setting one up to do the things that I am paying others for now (web and email hosting). Also, if I am hosting my own web sites, then I will be able to take advantage of languages and hosting environments that I would be unwilling to pay extra for (JavaEE, etc).

And, I have a computer that spends all of its time turned on doing nothing hooked up to a broadband internet connection.

Hopefully, before Monday rolls back around, I will have at least a functioning test for my own web and mail host running.


It's not just a scary snake anymore...

Looks like computer languages are going to get boosted.

I have begun taking a look at both Groovy and Python/Django.

So far, Groovy seems to be a streamlined version of Java that preserves complete compatibility with Java bytecode. I will have to do more playing before I can say anything more interesting about it though.

Python/Django are actually a combination of a language (Python) and a high-level web framework written in it (Django).

Python is kind of strange. There is no real declaration of variables - they just start to exist when you first use them. And, they are loosely typed - So, you can assign a variable a string value, then assign the same variable a numeric value. And the type magically changes. Also, whitespace matters. Rather than having any kind of code blocking characters, Python uses indenting.

Django looks like it should be useful for me at least for some more utilitarian sites. I'm fairly sure that as I get more comfortable with it, there will be more uses that 'pop up'. But for now, my unfamiliarity with Python and basic distrust of high-level languages are holding that back.

Stay tuned.

Ack! Too much progress...

After so long with no steady posting, this week should be a turn around.

I already have one post unrelated to my 'three post topics for May' and I have started doing something for each of the topics I pre-picked as well.

Watch for updates.

How can several SLSBs share the same interface?

Here is a tip that I wasn't able to find anywhere (maybe I didn't look hard enough).

It may be a rare situation that you would have a large number of session beans (EJB3 session beans) that need to share the exact same interface. And probably, there are several reasons why it could be argued that it is a bad idea anyway.

But, I had about twenty-five timer beans that only needed to expose the same single method 'setSchedule' - so that they could be scheduled.

When I first created all of these timers, I made separate interface classes for each of them so that I could easily access them like this:

@EJB private TimerInterface1 timerInstance;

That wasn't so bad - Even though every timer class that I created ended up having its own interface that was exactly like all of the others.

When I got up to twenty-five though - I thought there must be a better way.

And I finally found it. So now, I only have one interface class for all of the timers and here is how the particular bean that is needed gets declared and accessed. As a note, I happened to be using stateless session beans - the same should work for stateful.

public class ParticularBeanImplementation implements GenericInterface {

@EJB(beanName="ParticularBeanImplementation") private GenericInterface specificInstance;

I can't believe it took so long for me to find how to do this.