Monthly Archives: September 2007

Application Express Training – London 2008

Following the success of our recent European Application Express training days in Brussels, we have set the date and location for our next APEX Evangelists European Training Days Event.

The event will be a 3-day advanced Application Express course (agenda coming soon) and like our previous event will rely heavily on lots of live demos and real world examples and scenarios.

We will need to limit numbers, since once the audience size grows beyond a certain point it becomes more time-consuming to respond to questions and we cannot be as ‘interactive’ as we like to be (which from the feedback from the previous even was one of the things that people felt set us apart from other training events they’d attended).

So, if you’re looking for some advanced Application express training, from people who *really* use it day-in day-out and can help to answer those real-world questions you have, then sign up!

Note that, whilst we are only doing a few of these ‘open’ trainings a year, we are of course able to perform on-site training specifically for your company. So feel free to contact us via the APEX Evangelists site.

You can register directly for the London 2008 training by using this link.

Don’t you love car insurance…

Well it’s that time of year again when I need to trawl the websites and find out which one of the ridiculously high price car insurances is actually the cheapest.

I remember when I was 19 I was told the insurance gets cheaper when you’re over 21, when I was 22 I was told it gets cheaper when you’re 25, when I was 26 I was told….well you get where this is going.

Anyway, I went to one of those ‘type your details once and we do all the searching for you’ insurance-broker type websites and I have to say, it was actually quite amusing seeing some of the results coming back.

So, in no particular order, are some of the more amusing (at least to me) results I got back:

  • “We were unable to obtain a quote from this Insurer due to the age of the main driver.”

Well that’s just plain rude…I’m 36! Am I *really* uninsurable at this age?!

Besides, isn’t that being ageist? Aren’t there laws against that sort of thing?

  • We were unable to obtain a quote from this Insurer as the Insurer has chosen not to support the amount of annual miles you have selected.

Oh come on! I said average mileage, actually probably below average mileage!

  • This Insurer has chosen not to appear in our table.

This one I can’t get my head around. At some point somebody has sat down and thought it is better to show me that message rather than just not display it at all! That’s just being rude! I’d rather not know about the people who don’t want to give me a quotation thank you very much.

As an analogy can you imagine if whenever you ran a SQL query it showed you all the records that didn’t meet your criteria too? How useless would that be?

  • We were unable to obtain a quote from this Insurer as they have chosen not to support the number of claims you have entered onto your policy.

What?! I had one claim 4 years ago which was someone elses fault! Jeez….talk about being picky! It’s almost like these insurance companies don’t want to pay out or something.

  • We were unable to obtain a quote from this Insurer as they have chosen not to support the gender of the main driver.

Oh now we’re just getting rude, what sort of language is ‘not to support the gender’? Hmmm, so we’ve already had ageist, now we’re being sexist about it!

Just for the record, I consider myself a pretty safe driver (I’m tempting fate now I know), I’ve only ever claimed on my insurance once in all the years I’ve been driving (and that was someone elses fault), but for some reason it gets more and more expensive every year to get new car insurance!

Unwinding in Brussels

After the training, Dimitri took me out to see a bit of Brussels (I didn’t get much time to do that during the training). I have to say I was really impressed with Brussels, there are lots of great places to visit (sadly not enough time to see them all), but there are some really incredible buildings there.

IMG_2447 DSC00651

One of the first things we did was to go and get something to eat after the last day of training. We went to a place called Rue des Bouchers which is famous in Brussels apparently (I now know why, the food was great).

We relaxed with some delicious lobster and some wine, exactly what we needed after 3 days of intense training:



All in all I really enjoyed the doing the APEX training and I loved Brussels, it will definitely not be my last visit there!

European Application Express Training – Day 3

Final day already! Wow, you spend months planning something and then before you know it, it’s almost over!

The way it worked out, Dimitri had the first session today after our ‘all the wine you can drink’ meal last night (merely a coincidence I hasten to add!), but fortunately the adrenaline seemed to counteract the effects of the wine the evening before 😉

Todays sessions were:

  • APEX Integration with BI Publisher – Dimitri has already posted about his BI Publisher ‘demo gone bad’. To be fair, I’ve seen him give this type of demo before and it’s always worked flawlessly and is usually one of the ‘wow!’ type demos because of how slick the integration is. However, the laws of averages were against us today and after a *lot* of successful live demos, the inevitable happened and this one hit a snag.

    It is kind of ironic that the thing that failed was APEX or the Database, it was actually a Java issue. This (for us) raises an interesting question, should we do *less* live demos to avoid this kind of possibility? Well, personally I think not, since live demos are such an integral part of how we try to get our message across that if we reduced the number that we do then I’m not sure we could be as effective. Sure you can show lots of slides, but there’s nothing quite like doing something ‘live’ infront of someone to really make them sit up and take notice (it also helps to ‘stretch’ us as presenters I think).

    One of the first slides I showed during the introduction on day 1 said “We do a lot of live demos – something will go wrong”, well today was that day I guess! Everyone who has ever given a live demo will understand that these things happen. However, ever the professional, during lunch Dimitri worked on it and got his demo back to a working state so he could show it working later.

  • Network Services – This was one of ‘mine’, it’s a bit of a strange title but essentially I demonstrated some techniques you can use to allow your APEX applications to integrate and interface with other remote systems. I presented some of the more obvious techniques, such as webservices, as well as some not so obvious (but still extremely useful) techniques. This is a particular favorite of mine since over the years I’ve been involved with a lot of ‘integration type’ projects where we have had to integrate data from system A with system B (and sometimes with system C thrown into the mix too), so I’m a big believer that almost anything is possible if only you take the time to investigate the tools at your disposal.
  • Localisation – This was Dimitri’s final presentation and the final presentation of the training. Strangely even though the event was hosted in Europe, very few of the attendees actually use localisation techniques in their applications to provide multi-lingual or multi-timezone aware applications. Dimitri showed how easily you can make your applications multi-lingual as well as some of the cool features available to allow users to see dates, times, currencies etc in a format that makes sense for them. I really do hope that more people take advantage of these features as it can make an incredible difference to the experience of the end users of your application.

After the final session, we had a quick speech to thank everyone for coming, then we had a quick break for some food and drinks. However, it became apparent that lots of people had general (or sometimes very specific!) questions about APEX (things we hadn’t covered in the training, or a particular problem they might have). So after the quick break, Dimitri and I decided to do an impromptu question and answer session where we had an open floor for any questions. We didn’t know how many people would come back in for this, so we were extremely pleased when almost everyone came back for it (a couple of people had to leave to catch flights/trains home).


I really enjoyed this open Q&A, it is one thing to have weeks and months to prepare a presentation, it is quite another to put yourself in a position where almost 30 people can ask you almost any question (about APEX at least!) and you try and answer it. I think it went really well and I think we answered almost every question satisfactorily (I might have said “That’s a bit too big to get into right now, but send me an email later” to one or two people). I really like the interactive nature of our training format (and some people said that was where we were *very* different to some of the other training they had been on).

Finally it was time for (another) “thank you!” speech and then a ‘traditional group photo’ (although some people had already had to leave unfortunately)


We had asked everyone to fill out an Evaluation form for the training, I did stress that we wanted people to be brutally honest since I believe the worst thing would be if we walked away thinking we’d done a good job, but the attendees had thought we’d done a bad job.

So after everyone else had left, Dimitri and I had a final photo to remember the training by and then we sat down (or collapsed exausted would be more accurate!) and had a look through the feedback forms (it’s very difficult to resists looking through what people have written about you!).


On the whole the feedback was extremely complimentary, there were certainly some points that we can take on-board to improve (trust me…we always want to improve!), for example a couple of people said that sometimes I speak too quickly, which is definitely something I can control (it isn’t due to nerves, I guess it’s more to do with trying to get through so much material in such a short space of time).

One of the best things to read on the feedback forms was that every single attendee said they would recommend the training…praise indeed!

It’s strange to now look back and think that so much planning went into our first training event like that and now it’s all over. I’m very pleased with how it went and I’m even more pleased that all the attendees seemed to agree with us that it was a success, so I would like to thank everyone who was there for making it a very enjoyable experience for me personally. I’d also like to thank Dimitri, not only for being a great business partner but also a great friend, without whom the experience wouldn’t have been half as enjoyable.

So…time to announce our next training location and dates perhaps?

European Application Express Training – Day 2

The second day of our Apex training started earlier (8:30am), because we had some bigger topics to get through. Today we planned to cover:

  • JavaScript & AJAX – This is always one of the ‘ooooh’ presentations, because we can show lots of live demos and cool features that people can use. It is also a huge topic (we do like to dig our teeth into covering big topics!), so we could only ever scratch the surface of some of the things you can do with AJAX and JavaScript in APEX applications.

    One of the ‘concerns’ I always have with this area is which level to pitch it at, some people attending the course have never seen JavaScript in action before (let alone written their own), so the first part of the session was a (very brief!) introduction to JavaScript, just to get people up to speed with it since the code samples later on would not make sense if you did not know some of the basics.

    I really liked this session, it was pretty technical in that there were a lot of code samples and demos, it also required lots of thought and explanation about how it all worked, but it is also one of the sessions where the benefits are really tangible, i.e. the attendees could see things in action and (hopefully!) relate them to their own projects and think “Wow…I could use that!”

  • Special guest – Carl Backstrom! – Yep, if you’re familiar with APEX (and particularly AJAX/JavaScript with APEX) you will be familiar with Carl Backstrom. We had originally planned for Carl to come in-person to the event, however we could not get all the T’s crossed and I’s dotted on that one however Carl spent a lot of time preparing a great video for us that we played to the attendees, which showed lots of nice juicy details that most people haven’t seen yet. I had already seen the video, so I spent a bit of time looking at peoples reaction to the video and it’s fair to say there were a lot of people saying ‘Wow!’ and generally open-mouths whilst watching some of the things Carl was demoing.
  • Exercise Time! – No, not *that* sort of exercise, a nice little APEX exercise we had prepared for the attendees. Most people said afterwards that they really enjoyed this, so perhaps it’s something we’ll feature more in our training. We also gave out special prizes for anyone who found our deliberate (and not so deliberate!) bugs in our code
  • 3rd Party Integration – Dimitri presenting this one after lunch and it revolved around using 3rd part products in your APEX application to either extend the functionality or to use ‘cool features’. Again this was one of the sessions that got lots of ‘oooh, I didn’t know you could do that!’. It’s amazing, you can write 2000 lines of rocket-science PL/SQL code, but people will always be more impressed by the image which automatically expands when you click on it 😉

    We had lots of people coming up to us after this one saying that they really enjoyed it.

  • DSC00630

  • APEX Dictionary – My final presentation for the day. Once again, you can only really scratch the surface on this one (I could do 3 days on this alone), but I covered the APEX dictionary from lots of different angles as to why you should be using it. There are some exceptional cool things you can do and I’m pretty sure lots of people didn’t know just how much information is available to you as well as the many different ways you can use it.

    I went out on a ‘wing’ in this session and showed something I hadn’t intended to show, but it all worked first time thankfully, I just couldn’t resist showing ‘just one more cool thing’ to try and convince people to start using the AD.

Before we ever announced the training, Dimitri and myself had discussed whether to have a ‘special night’, where we took out the attendees for a meal. I’m very glad we decided to do that as the night turned out to be a big success.

We went to the La Vierge Noire restaurant in Brussels, where we had a 4 course meal with all the wine you can drink (it seemed like a good idea at the time, perhaps not so good when we had more sessions the following morning!). I have to say that evening was great (for me personally), it was an opportunity to relax and chat to people (I did tell people to ask me their APEX questions early on as the quality of my answers would decrease as the wine flowed!).

DSC00625 DSC00627

After we meal we walked (in a not particularly straight line in some cases) back to the hotel, ready for the final day!

European Application Express Training – Day 1

As seems to be the tradition when Dimitri and I do some training, we stayed up quite late last night (not too late!) in the Hotel bar, this gives us the opportunity to

  • Catch up on some business matters. Although I live in the UK and Dimitri lives in Belgium, modern technology (read: email, Skype, MSN etc) means that the geography doesn’t really matter, however sometimes you really need to be in the same room as someone when discussing some things.
  • We also get the chance to run through each others presentations and give some last minute tips/hints etc.
  • We also had a chance to relax (a little) and have a couple of beers and chat about life in general. Dimitri’s wife was due to give birth just a few days after our training, so I was always expecting him to have to dash off to the hospital at some point while in mid-presentation, so we planned what to do if that happened (I suggested that I would run out the door right after him, but apparently that was not an option).


The start of the first day was (as you could expect) pretty hectic, it doesn’t matter how early you start you always wish you’d started 30 minutes earlier. After having some breakfast and another quick run-through of the day, we headed to the presentation room and started setting things up. I have to say that once we started preparing the tables and setting up the name tags for the attendees I got more and more into ‘Presenter Mode’, it makes a big difference when you take the extra time to do things like make badges for people (thanks Kristel!).

AE Brussels Training

We had arranged a ‘welcome coffee’ for the attendees, just so everyone got a chance to get something to eat and drink (some people were travelling to the event each day rather than staying in the hotel) and also we all got a chance to meet each other before the training began.

When we first announced the training (all those months ago!), we never really knew how many people would be interested, so we took a real risk in organising something on the scale that we did (we could have booked a far cheaper hotel, which much cheaper rates!), but we decided that for the first event we really wanted it to be ‘special’. So we were extremely happy that other people are just as passionate about Application Express as we are, and we soon managed to reach our ‘ideal number’ of close to 30 attendees (as Dimitri has already posted we had some people signing up right at the last moment, we also had one person who cancelled one day before the event and even more bizarrely a couple of people who signed up, paid and then didn’t arrive!)

Then came the moment of truth, the first part of the presentation. For anyone who hasn’t done it before, it’s very nerve wracking to stand up infront of a group of people you haven’t really met before and then start talking. It’s a very different thing to a conversation where it ‘flows’ from one person to the other, I’m sure in those first few minutes of talking people could hear the odd nervous ‘pinch’ in my voice (as well as needing to drink water every few seconds!), but then I soon forgot about the nerves and started to enjoy it (it always helps to see people nodding along as you speak, or smiling etc to help you to know if you’re making sense!).


I won’t go into lots of detail about the individual sessions (after all, if I did that then people wouldn’t need to attend our training courses!), but on the first day we covered:

  • Themes & Templates – Dimitri showed how Themes & Templates are used within APEX, he showed practical examples of how you can use all the different templates types available within APEX to completely customise the look and feel of an application.
  • Authentication – This is a huge topic and I could spend all 3 days on this topic alone, so instead of doing a superficial overview of all the different types of authentication I concentrated on APEX users (‘Cookie users’)and also Custom Authentication. I showed how there are a few things you need to be aware of with the built in APEX users, but that they are also a very underrated feature than are not quite as ‘basic’ as lots of people thing they are. I also showed why (and how!) you can use Custom authentication, together with some practical examples of how you should be ‘hardening’ your security with custom authentication.
  • Reports & Charts – Lots to show and discuss here. Dimitri did a good job of trying to cover all the features available with both reports and charts and some of the pitfalls that you might run into. I’m sure he’ll go into more detail about this on his blog, but this was one of the presentations that really shows why we use a LOT of live demos, because it’s sometimes much easier to show something than to try and describe it. We really find that the live demo technique works well for us (when they work!) and people seem to like the way we can adapt our live demos to their specific questions.
  • Performance Tips & Techniques – Again, another huge topic, so I concentrated on the 4 tips and techniques that I would recommend to everyone to use. I’m a bit of a ‘performance geek’ when it comes to APEX, but I tried to show why *everyone* should be using these techniques. I did a quick poll among the attendees and whilst a couple of people were using a one of the techniques, nobody was using 3 of the techniques, let alone anyone using all 4 of them! I really do hope that by the end of the presentation some people were thinking “Wow…I am *really* going to use that!”.

We had arranged for each session to last around 90 minutes, with breaks/lunch between the sessions. 90 minutes might seem like quite a long time, which is why we try to use live demos to keep things ‘interesting’. We have tried doing 60 minute sessions, but sometimes that is just too short for some of the more advanced things we need to do. It was nice to see (later on) that in the feedback forms not a single person reported that the sessions were too long. It also gives us some flexibility within the sessions to make one session run a little longer or shorter depending on the feedback we’re getting from the attendees (for example one session ran longer because of the number of questions during the session and Q&A afterwards).


We also had a lot of people asking questions at the end of the day (which is always a good sign, rather than racing off as quickly as they can!). All in all it was a great first day from our perspective and we hoped from other peoples perspective too!

European Application Express Training – Day 0

As Dimitri Gielis has already blogged, Apex Evangelists recently held our very first Application Express European Training days. This was to be a 3-Day advanced APEX course open for general registration by anyone (as opposed to our on-site training which is usually tailored specifically to a customer).

We had been planning this event for what seems like ages now, I won’t cover what Dimitri has already mentioned, but it’s amazing how you can spend all day working out the fine details of an event like this (for example trying to pick exactly what food we would offer etc).

The training was being held in the Le Plaza hotel in Brussels and Dimitri and I had agreed that we should arrive there the day before the training began, to make sure everything was working and that we had a chance to familiarise ourselves with the room setup and all the equipment etc.

This turned out to be one of the better decisions I’ve made, since –

  • I arrived at the airport to find out that my flight had been cancelled and that there was no alternative flight. The check-in staff advised me that if I ran I could catch a flight down to Heathrow where I should be able to find a flight to Brussels. On arriving at Heathrow I was told there was no other flight to Brussels, but they could get me on a flight to Paris. At this point I had visions of calling Dimitri and telling him he’d need to do the training himself as I was currently in Outer Mongolia. Fortunately, almost of of earshot I heard someone else mention a flight to Brussels on another airline and I was able to manage to convince them (i.e. by raising my voice a few notches) to put me on that flight instead.
  • We couldn’t get the projector which we’d borrowed to work, at one point the picture was so small and ‘wonky’ that we may as well have got people to crowd round a laptop instead
  • After getting the projector to work, we then discovered that (very annoyingly) the cable between the projector and the laptop was about 2 feet too short and the hotel did not have a longer cable (we also couldn’t move things too much because of the layout of the room). Fortunately the Hotel was right in the centre of Brussels so we ran out and managed to find an electronics store where we bought an adapter to lengthen the cable.

I’m still learning a lot about presenting, but one of the big lessons I’m learning is that usually it’s better to assume that things *won’t* work (or won’t go according to plan) rather than assuming they will. Had we not arrived the day before then we would have been rushing to get all of those things done first thing in the morning.

Before we announced the training Dimitri and I spent a long time trying to find a good hotel since we wanted our first training event like this to be held in a nice location. I can honestly say we weren’t disappointedly by the Le Plaza hotel.
Hotel Le Plaza - Brussels 2007

One thing I will never forget is when we first saw the ‘welcome sign’ in the Hotel announcing our training for the attendees.

AE APEX Training

It was also the first time I had been in the room that we were going to be presenting in. I had seen a photograph of it, but in the flesh the room seemed so much bigger, particularly when it was empty.

Setting up the room

I’ll post some more soon about the actual APEX training itself and how things went.