Page 21 of 42

A sad waste

My manager died in a car crash on Thursday on the motorway.

He was going to help me with some issues I’ve had and we were trying to overcome the problems. I was looking forward to the next few months of working with him and getting stuff done. Now, he’s not there.

I was very late to work this morning. I could’t get in my car. I was up at 6:15.

These things affect us all in strange ways. Bought a card for everyone to sign which has been sent on.

Nothing I can do. Nothing at all.

Puts all the upset and nonsense of the last few months into the irrelevant nonsense category they really belong. 

Response to an article about Microsoft Forefront

 http://articles.techrepublic.com.com/5100-1009_11-6127915.html

I still don’t get what it is …

Client software that you can install on a central machine and then distribute as your organisation grows – that makes no sense? A set of filters you put on your incoming streams that looks for malware? A (mere) virus scanner? What is it? All of the above plus whatever? An LDAP server? Does it actually do authorisation and have a bunch of other stuff to keep viruses and so on at bay, hence confusing authorisation with protection? Or is it just a load of acronyms hiding a hodge-podge of things under the Microsoft banner so you can buy them all together in one package?

I also did’t like the word “integrated” there – that’s one of the huge problems with Windows as it is, compromise one thing, you’ve compromised everything – all part of the fundamentally flawed architecture in the first place. Everything uses the IE DLL’s – compromise them and everything is compromised. It’s not like modular software and interfaces are a new idea, but what do I know?

Migrating Access to SQL Server tool

http://www.regdeveloper.co.uk/2006/10/13/access_migration/

I was demoing Oracle’s migration product that does exactly the same thing (without the dumb bits) the best part of 10 years ago. The access app quite happily now talking to an Oracle back end.

I never realised that Microsoft did’t do this themselves!

Probably easier to migrate to Oracle and back again. At least it can sort out the types properly.

If memory serves Oracle’s tool is also free.

How to find out what schema a PL/SQL package is running from

  —————————————————————————————————————
  — This private function will return who owns the package
  — used for any call backs to prevent the use of synoynms picking up the
  — wrong guy…
  — Needs to get it from dual to get what permissions we are running with
  – not who we are running it as – confused? You will be …
  –

  —————————————————————————————————————
  function get_callback_schema( p_object_name in varchar2 default null ) return varchar2
  is
  q varchar2(200);
  begin
    select sys_context( ‘userenv’, ‘current_schema’) || ‘.’ || p_object_name
    into q from dual ;
    return q ;
  end get_callback_schema ;

Oracle JDeveloper and Tomcat

It’s easy enough to tell JDeveloper that you want to deploy to Tomcat, it just needs the path to the webapps directory and forges on …

Tomcat Database connection pools

To get these with JDev you have to run Toplink, somehow persuade Orion (their embedded J2EE server) to run the naming service and all that jazz. I just wanted a simple thing with Tomcat, which is dead easy and does’t tie you up in Oracle knots.

After a lot of pain I eventually read the manual . Dead easy if you follow the instructions.

However you need to create a file called context.xml that lives in the METAINF directory.

Again – dead easy. Just create a METAINF directory under public_html in your JDev project folder and put it there. It just deploys.

Hope this helps the next Joe – took me most of several evenings to get to the bottom of it.

Have fun. 

Tomcat doesn’t like valid ?

Yeah, well, I had a servlet mapping element in my web.xml that looked like this:

  <servlet>
    <servlet-name>ProductHandler</servlet-name>
    <servlet-class>sop.ProductHandler</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ProductHandler</servlet-name>
    <url-patter>/producthandler.do</url-patter>
  </servlet-mapping>

Nothing wrong with it, but good ole Tommy kept saying

SEVERE: Occurred at line 39 column 21

Which was the end of the servlet mapping tag. No idea what the problem was. I changed the name from ProductHander to Prod and it worked, then I changed it back again and it was fine. No idea. Just thought I’d mention it. Maybe my IDE had put a control character somewhere? 

Got through my exam; not feeling to good now

Got through the SCWD exam OK with plenty of room to spare. Not the score I would have liked but OK.

Felt dreadful over the weekend and, come Monday, I could’t move – ear infection and nose pouring out nasty crap. Then my temporary filling for my root canal came out – suspect it was pressure from the infection that pushed it out.

I’m not in any pain, just feel lousy. I daresay the folk at work think I’m putting it on but I’m not. In a very high stress environment at the moment. We have only a few days to do a month’s worth of work. Thing is, I finished the first cut ages ago and it was never given a thorough test – now we have performance problems and all sorts of other crap – and its all my fault and people are giving me hassle. If you don’t allocate resources to a job don’t expect it to be done on time.

In project management there is a three-legged beast that will always bite you:

Quality/Time/Resources

Push any one of these and the others will suffer. Not exactly rocket science, is it?

Java 6 and JDBC

http://www.regdeveloper.co.uk/2006/09/22/jse_bling/  

I want to be able to do something like I can do in the Oracle ‘C’ preprocessor:

EXEC SQL FOR :count
INSERT INTO FRED (FRED_ID)
VALUES (:a_fred_id);

where count says how many and the a_fred_id variable is an array. I know this is pre-processed code but it is available in the non-pre-processed environments as well. Obviously there is syntax for bulk fetching as well.

The current JDBC junk, where you fetch each record one at a time, has always seemed to me to have too much Microsoft/whoever ODBC heritage; everything is talking to Access on the same DOS machine.

Last time I looked into this they did allow you to send multiple statements, which was OK but so what? Array binding is genuinely useful and if too hard to implement for a given SQL engine then throw an exception saying so.

Many years ago a colleague did the array binding in C++ and then linked these C++ objects into Java. This was a factor of 10 (or maybe more) times faster than JDBC. If you are retrieving a list of, say, order lines, why on earth would you want them one at a time anyway? If you are retrieving a list of big XML documents again, you want them in the most network-efficient manner.

My opinion – and someone will doubtless tell me there is a way to do this, probably using Business Delegates which pass arrays back – fine, but why can’t I have the whole array straight from the database in the first place?

SCWD exam tomorrow

… and I feel woefully underprepared. I’ve managed to move my score from 60% to 80% in the mock exams. The pass is 62% so I think I will get through. Annoying – I wanted to have a shot at 100%.

Have’t been too well over the last couple of weeks and it’s been hard to get information into my head.

Lots of pressure at work as well, I got told off because I took Friday off to study. Never been told off like that before in my entire career.

I’m in the middle of fixing some stuff that could have been fixed months ago, when it was first written, if the people in the know had tested it then. It now has lots of rough edges that need to be removed and we’ve got about 5 days to do it in. 

Somehow this is supposed to be my fault and I’m supposed to care. I do, inasmuch as I’m a professional and want to see things through, but I don’t inasmuch as it is’t a crisis of my making and I’m not taking responsibility for a lack of bodies on the ground.

Off to bed now, gonna get up early and do some more cramming.