Category: Uncategorized

Precious time, precious moments

For those of you who don’t know, my father killed himself when I was 8 years old. All I have left of him are his silver cufflinks and the vague echoes of his genes. Nothing else.

I was giving Jon a hug today before leaving for work and it hit me that I don’t remember my dad ever doing this. Also, how precious these slight, transient moments are: without them life would be so empty.

Jon had pulled a mattress from the bed and bent it into a “tent”. Then he put a blanket over it and slept on the floor underneath it. Bless. He has no idea how precious he is to me, just as well really.

I wished him a happy unbirthday and then had to explain what an unbirthday was.

Every day I come to love Rosie and the kids even more than I did the day before. I cannot understand how my father managed to do what he did. Ultimately depression is intensely selfish, and his letter said he felt it was for the best. What an idiot. If you are thinking like he was get help! Do it now, this life is so precious and you only have this one.

As a Buddhist I beleive in reincarnation. However, the teachings imply that what is reincarnated is very subtle. The analogy is that the lives have dependencies like one brick upon another, or a flame at one time of day and another. It sounds almost like a point of view is what keeps going, subject to the karma it accumulated in the life it led. This makes fleeting moments of happiness and caring even more precious and the human existence even more fragile.

Buddha said: the end of all gathering is dispersion; the end of all building is ruin; the end of all meeting is parting; the end of all birth is death.

This makes this little life, this litte flash in the void, even more precious. So hold onto it! Not to mention the numerous hells that you end up in if you suicide – you feel bad now, just wait! There are dozens of them, apparently.

Blessings all

Redone Novel

I’ve redone my novel and change things a little, have a look if your interested

Should have gone to bed early and done all kinds of useful things but who the hell can be bothered with that kind of stuff? Off to bed now, 11:30 pm. Got a big day tomorrow.

Gaudete

NOTE: This link won’t work any more, sorry (Oct 2010)

NetBeans IDE 4.0 Beta and classpath scanning

This is a weird one. If you have a free-format project and add to the class path using the class path wizard beware that you add either directories or .jar files. I was picking up all of the files in the JBOSS tomcat directory and also, inadvertently, picked up a couple of XML config files.

It let me add them to the class path and then choked on restarting the IDE and sat there trying to treat the files with the .XML extension as directories, getting an error and going into an infinite loop. I will report this to the netbeans development team.

The only way to fix it is to edit the project.xml file by hand.

Response to article “IBM move the database goal posts”

In response to this:

Hi Philip,

I’ve just been working with Oracle’s XML DB for 10g. It does functionally exactly what you say IBM are thinking about. You appear to be ill-informed and have bought the IBM FUD. You should be more careful about what you say if you want to put yourself up as an opinion former. Maybe you should qualify your comments better?

Also IBM’s database certainly used to be 3 (or more?) different code bases depending upon which platform it was running on. Each had a different set of bugs and features. I think the whole thing was branded to appear to be one product, but it wasn’t. Which one of their multiple code bases are they talking about? All of them? In which decade?

Have a look at http://www.oracle.com/technology/tech/xml/xmldb/index.html. I suggest you get a 10g database installed and work through the examples. Unless you’re too posh to actually use something before you form an opinion?

Don’t get me wrong. I’m not an Oracle fan, but what you describe is what I’ve been working with for a while and not news. Not even that big a deal.

Regards

Francis Fish

Java Certification

I’ve been using Java for about 5 years, but not heavily. I know the language reasonably well and have decided that I will get certified in the next few weeks. I took a test (for 1.2) from a training book I bought and got around 60% without a lot of study. The pass is something like 51%. With some study I should get there reasonably comfortably. I think this would be good for my CV and open some doors, although people want to talk to me anyway.

I’m much more interested in doing the Certified Developer exam, because it’s a proper project, but they insist on doing the Certified Programmer first. I am really interested in the System Architect but it looks like a hell of a lot of work and I’ve got other things to keep me busy at the moment. One of the guys from Adis had this qualification and now only works about half the year and is better off than when he was working for them, so I think it’s worth pursuing, just not right now.

Using my Safari Account (detailed in last blog) I’ve got access some 1.4 certification books that I can give back when I’ve finished with them.

Of course, I’m still working on my struts project as well because I have to keep the boredom at bay somehow. Making good progress with it.

Only problem is: tonight I need to fill in my tax return on-line so I’ll have to hold back on the exitement, no, I’m not being sarcastic, I enjoy what I do when I’m allowed to do it.

Current Short-term Life Goals:

  1. Build my internet marketing business.
  2. Get struts project finished
  3. Get Certified
  4. Look at Oracle Certification as well (not so bothered, if Oracle themselves wouldn’t fund it when I was an employee how much use is it?)

All of this has to happen within the next month or so. If you don’t put a date on things they won’t happen.

Back to the exitement of another day writing technical specs – I just can’t wait.

Safari, Fun with struts, recommended books

Safari

If you do a lot of software development and get a lot of books from O’Reilly I recommend Safari.

Struts

Decided to use struts to do my project because it works and I like the architecture.

I’ve spent the last week or so getting my head round how it works, how to use Ant (like it), and how to get Netbeans to work with it.

Not that hard, any of it, but I’m basically using Netbeans as a glorified editor and not using any of the advanced features (like the in-line J2EE container, for example).

Netbeans 4 beta is a little flakey when you try and create new Java classes and doesn’t seem to want to save them. If you press save all it will, though.

Books

If you want to get started with struts try:

Struts Kick Start
ByJames Turner, Kevin Bedell

Also has the best potted explanation of how HTTP, JSP. JSTL tags etc. I’ve seen. Wish I’d read this a couple of years ago.

I’ve got a lot from

Information Architecture for the World Wide Web, 2nd Edition
ByPeter Morville, Louis Rosenfeld

Ignore the first 3 chapters unless you are a total newbie. Useful content there.

Overcoming the stupids

I had an attack of the stupids. I was wrapping a form served by a different server into a portlet and passing what it had been sent back. It had about 15 arguments and I had dutifully created one argument in my portlet for each thing that could be sent. Most of these were <input type=”image”> tags, which send an X and Y co-ordinate of where the image was clicked, but only if the image was clicked.

I was faced with going through all of these by hand and if one of them was set, that was the one to send to the remote machine.

Now, to pass things around Portal they need to be page parameters also. This meant I was faced with creating 15 page parameters to get the portlet working.

Then, to add to the fun, Portal won’t let you create page parameters of the form userClick.x; it doesn’t like the ‘.’ in the name.

Aha, says I, I will create a redirect servlet that will transliterate userClick.x (and the other pile of arguments) into userClickX and then send it back. Fortunately there are methods that will allow you to generate a URL to do a callback like this.

Then in the portlet, if the argument was set, translate it back again so I can call out to the external server.

Phew!

This was my attack of the stupids. Looking at things like they are significant when they’re not. What was significant was the URL being sent to the back-end map server, which the browser had aldready constructed for me.

Instead all I needed to do was send the two housekeeping variables back (cookies and some portal-specific things) and a new variable called mapParams, which it constructed from looping through the parameters and ignoring the ones I wanted to send back in their own right. This was then escaped using the URL encode and placed in the variable.

Back in the portlet, just append this to the string to go to the back-end and off y’go.

So, 15 arguments and a lot of repeated code down to 3. Just make sure you are looking at the right problem.

Back to writing functional specs, can’t have fun all day.

Permission and Change

If you hurt someone else you give them permission to hurt you back because you make hurting people OK. This is quite tricky to understand. It’s one of the ways that karma works. Karma just means “actio”, like Newton’s law:

For every action there is an equal and opposite reaction

What a lot of people don’t realise is that this is true for everything. This is what the Buddha discovered two and a half thousand years ago. Think about what this means in Iraq and other places. Normalising terror and so on. I look at the world around me and worry where the self-righteous crap people are peddling will take us all, without most of us even realising it.

I am trying to stop giving people the finger when they try and drive me off the road and also not rise to their bad driving. This means that I must be much calmer. Returning their aggression gives them permission to carry on being and behaving the way they do. Everything involves you giving someone else permission in some way. That’s why I’d rather be kind any time.

Change is odd, as well. It gives permission to think about things differently and it also turns things on their head. The fear of change is one of the things that you need to learn to do without. It’ll happen anyway – start thinking differently now, be ready. None of the things you hold dear need be true, even slightly; more worryingly they may be true in the senses that you can’t conceive of.

The phenomenal world we live in is constructed in your mind by processes we don’t understand. We agree with each other on the labels for things and not much else. For example in the Buddhist canon there is the following example around a glass of water:

  • A god would see it as ambrosia
  • A human would see it as water
  • A hell-being would see it as something burining and nasty to drink

Even a human being would see different things, depending upon how thirsty they were, or even if they had contracted a disease where they have hydrophobia.

Now look what you made me do

I once lived with someone whose entire life revolved around these words. The only thing that she was responsible for was having a dim view of everyone else.  You can’t win with someone who uses this as their mantra, so don’t even try. If you live your life like this expect to be unhappy. Unhappiness starts to go when you manage to take responsibility for things and stop assuming that the world revolves around you. It never did. Get over it.

Letter to “spiked online”

This is in response to this article:

I always find myself a bit worried when people use words like progress and enlightenment like they’re in some sense automatic.

Another example is when people use “evolve” to mean things getting better, where “better” is a value judgement, when all it means is that they get better adapted to the prevailing conditions, which in themselves have no intrinsic value at all.

We haven’t progressed from anywhere. The project to better the human condition is a human construct, not an absolute, and so is enlightenment. This is laudable and I agree with it, but I don’t use progress in what is a naive Victorian way that makes it some sort of moral absolute (sorry Karl).

I did agree with the main thrust of the article’s attack on the silly self-serving abdication of personal responsibility, which is so much a part of life now. It also begs the question, that if I apparently know more than a journalist who specialises in something, what the hell does he or she do all day? If I were an editor I would get someone else! But the culture of “shut up, shape up or ship out” seems to have gone as well.

Seems like a charter for the work shy. Maybe I’m old fashioned.

More fun with Oracle Java Portlets

The manual is incredibly opaque. I’m beginning to realise why paper manuals weren’t so bad, it was easier to work through things.

I can’t work out how to pass parameters into a porltet or default them in from the page (so you can pass them between portlets). Starting again with the noddy example from the manual to see where I’ve gone wrong.

This works … adding another parameter needed a refresh of the provider – of course – obvious. It looks like I needed to refresh the provider. Naively assumed that it was doing this on the fly when I reloaded the J2EE app. It must cache the provider.xml file in the portal (of course it does dumbo).

I now have the wrapper working after a fashion. I have no idea why this has to be so hard.