What is it about online communities? The internet was spawned a plethora of community types - lists, forums, message boards, blogs, MMORPGs, open source software - in which individuals contribute their time and knowledge to help others in their community. Yet the stereotypical internet geek is a surly, uncommunicative individual with poor hygiene practices and no human friends. So how come we're such a social bunch?
These thoughts were prompted by an online questionnaire about online participation which was posted by an IS Masters student. If you're reading this then you ought to participate by taking his survey. That would be in the spirit of his thesis, which is about the relationship between social capital and knowledge sharing in virtual communities. That is, why people share in online communities when there's no reward.
First let's examine that assumption about no reward. For some people there is an indirect pecuniary reward for their online participation. I'm sure I wasn't the only person who was motivated to buy Tom Kyte's Expert One-on-One because of the AskTom site. Not just because the site acts as an advertisement for the quality of the book but because I felt beholden to Tom because I had got useful advice from the site. Jonathan Lewis says in his DBAZine podcast that his profile within the Oracle community (due to his activism with the UKOUG as well as his website) does help him get work as a contractor. Mark Rittman's blogging won him the Oracle Magazine ACE of the Year 2005 award, which has rewards (in kind). And I'm sure I'm not the only person who's been approached by headhunters because they've come across my spoor here or in the forums.
However, it is obvious that these rewards are trivial compared to the time we all in our various ways spend in the online communities (certainly compared to our hourly rates in the day job). Furthermore most people who contribute in the various forums, lists and blogs are not authors or ACEs. So why do we do it? Everybody's reasons will be different or at least differently prioritised but here are my reasons.
Firstly, my participation, in the forums and this blog, helps me organise my thoughts. Writing things down is a useful discipline. That's why I think people who dash off blog entries casually, as they would an e-mail, are missing a trick. It's one thing to be the first with a hot scoop, another thing to present an insight into some aspect of database programming or architecture in a way that's interesting and useful to others.
Secondly, presenting information in public is a good way to get our own misunderstandings corrected and our assumptions debunked. Ideally we do this ourselves by cobbling together a test case before posting . But if not someone else will point out our bloomers. Over the years I am getting better at not asserting things that I have not tested for myself but I still occasionally slip. And then the vultures swoop.
Thirdly, questions in the forums throw up problems from out of left field. Investigating those issues can teach us new techniques or fresh understandings in areas that our work has not yet taken to. This can make us more effective in our jobs. Or more likely it just appeals to our geeky need to know.
So far this is all about me. Well, it is a blog ;) But, what about the "community"? Doesn't that matter ? Of course it is important. To a large extent our existence as individuals is defined by our interactions with other people. Game Theory teaches us that in order to interact successfully we have to approach other with a presumption of trust people and a preparedness to give openly. In return we can expect gratitude and future co-operation. That's the only way any society can work. So perhaps we contribute to ensure there is a still an active community for when we need to ask for help, even if that means answering many more questions than we pose ourselves.
I think there's more to it than just the strictures of mutual grooming and the Prisoner's Dilemma. There is a warm sense of camaraderie among the regulars in any of these arenas. Interestingly this is often reinforced by communal activities in meatspace - drinking whisky around the old oak table, Oracle-L dinners during the Hotsos symposium, Oracle bloggers' dinners at various conferences.
Finally it's fair to say that online communities are not perfect. It's very easy to lose one's rag when interacting via e-mail. And - especially when the participants don't share a common first language - it's common for insults to be perceived when none was intended. We've had to invent new words to describe anti-social activity in cyberspace. Just recently a MMORPG called Roma Victor introduced virtual crucifixion to punish cheating players. And it is possible to overshare.
In conclusion ... Well, let's close the circle of online participation: start a blog and write your own conclusion!
Thursday, April 13, 2006
Wednesday, April 12, 2006
SQL Developer makes Daily WTF
A few weeks into production and already making its mark in the wider software engineering community. Kris and his team must be so proud.
Mind you, it is a sign of the relative merits of SQL Developer as a tool that the only thing they can find to mock is the code generated by the DDL wizard. As several of the commenters say, most generated code is not the prettiest. Still the code as shown is rather revolting. You wouldn't want to work with anyone who learnt how to program PL/SQL by studying this stuff.
Read the whole thread here.
Mind you, it is a sign of the relative merits of SQL Developer as a tool that the only thing they can find to mock is the code generated by the DDL wizard. As several of the commenters say, most generated code is not the prettiest. Still the code as shown is rather revolting. You wouldn't want to work with anyone who learnt how to program PL/SQL by studying this stuff.
Read the whole thread here.
Monday, April 10, 2006
Red Hat buys JBoss
In this press release Red Hat announces that it has bought JBoss for $350m, although only 40% of that is cash. There's another $70m promised, "subject to the achievement of certain future performance metrics".
Well that's one Larry can scratch off the shopping list. If it's true that Oracle were offering $500m for JBoss I wonder why Marc Fleury turned that down but accepted Red Hat's much lower offer a few weeks later.
The Register, diligent as ever, has uncovered a cached version of blog post in which Marc Fleury says what he read thinks, or at least thought, about Red Hat.
Well that's one Larry can scratch off the shopping list. If it's true that Oracle were offering $500m for JBoss I wonder why Marc Fleury turned that down but accepted Red Hat's much lower offer a few weeks later.
Update
The Register, diligent as ever, has uncovered a cached version of blog post in which Marc Fleury says what he read thinks, or at least thought, about Red Hat.
Wednesday, April 05, 2006
Which version of Oracle do you use?
The OTN Raptor forum is running a poll on which version of Oracle people are using. At the moment 9.2 is the most popular flavour with over half the votes. However, only thirty-three people have voted so far and I doubt this sample size is statistically valid. So, if you haven't already, click across and cast your vote!
Tuesday, April 04, 2006
Penguin to be top dog for Oracle
According to this CBR Report Linux is likely to the dominant platform for Oracle database servers next year, toppling Sun Solaris from the top spot. Interestingly, it's not just bad news for Scott. Some of the sites who say they're moving to Linux are currently Windows shops. I suppose they've got lots of Intel boxes lying around.
This would definitely seem to validate Oracle's championing of the Linux platform. By reducing the cost of the OS they have lowered the TCO and so reduced SQL Server's advantage there. Levelling the playing field in turn makes it easier for Oracle to compete on feature comparison. And all without cutting Oracle's licensing fees.
This would definitely seem to validate Oracle's championing of the Linux platform. By reducing the cost of the OS they have lowered the TCO and so reduced SQL Server's advantage there. Levelling the playing field in turn makes it easier for Oracle to compete on feature comparison. And all without cutting Oracle's licensing fees.
Thursday, March 30, 2006
The meaning of "Raptor"
Recently I was browsing Google Images to find some dinosaur pictures for my son when I was struck by the startling resemblance between the old Project Raptor splashscreen and this picture of a velociraptor. Separated at birth? Or just Photoshop?
From the MantyWeb site I learnt that the name velociraptor means "speedy thief". So you can see why the team had to drop the "speedy" bit - it is written in Java after all ;) But why did they have to drop the "thief" bit too? Perhaps because a certain amphibian might start croaking about infringements of intellectual copyright? Surely not.
Anyway, the Extension SDK is now available for the minimal JDeveloper install so I can start to work on my idea for a SQL Developer addin. Or at least I can once JDeveloper has restarted. I see Shay Shmeltzer has posted some tips for making JDeveloper go faster. Might be worth a gander.
In fairness I must report that restarting JDeveloper took less than a minute. It's only when we start it up the first time after a reboot and the JRE is not instantiated that it takes long enough for a coffee break.
From the MantyWeb site I learnt that the name velociraptor means "speedy thief". So you can see why the team had to drop the "speedy" bit - it is written in Java after all ;) But why did they have to drop the "thief" bit too? Perhaps because a certain amphibian might start croaking about infringements of intellectual copyright? Surely not.
Anyway, the Extension SDK is now available for the minimal JDeveloper install so I can start to work on my idea for a SQL Developer addin. Or at least I can once JDeveloper has restarted. I see Shay Shmeltzer has posted some tips for making JDeveloper go faster. Might be worth a gander.
Update
In fairness I must report that restarting JDeveloper took less than a minute. It's only when we start it up the first time after a reboot and the JRE is not instantiated that it takes long enough for a coffee break.
California Dreaming
I have just received an e-mail from the UKOUG. Oracle are looking for volunteers to participate in a Beta lab for the forthcoming Data Vault product. This is a very interesting development in database security and one which I have been awaiting since I attended a presentation at OOW2K5SF. So I'm very keen to participate.
The only problem is, the event is in a fortnight's time and the location is Redmond, CA. Somehow I just don't think I'll be able to get this past the bosses. In fact, the phrase "a snowball's chance in Heck" comes to mind.
The only problem is, the event is in a fortnight's time and the location is Redmond, CA. Somehow I just don't think I'll be able to get this past the bosses. In fact, the phrase "a snowball's chance in Heck" comes to mind.
Thursday, March 23, 2006
Oracle XE on Mac: if not now, when?
As soon as Oracle announced XE lots of people asked the question, "When will it be available on Mac?" I'm not aware of any statement from Oracle about why XE is not available for Mac - or Unix come to that. I'm not interested in running XE on a Mac but it turns out this question offers an interesting perspective on Oracle's database licencing policy.
If you look at platforms which are supported for XE - Windows and Linux - what they have in common is the Intel chip. So perhaps the answer to the question lies in the need to restrict Oracle XE to a single CPU. XE does this by binding to a processor at start-up, and apparently this is a lot easier to do with Intel chips than other chip architectures. So my guess is we might see ports of XE to Solaris for x86 and also those new Macs running on Intel chips but not for other *nix flavours.
Incidentally, this came up when I was talking with a Unix sysadmin about Oracle per processor licences and the possibility of Oracle limiting non-XE databases to the number of processors licenced. The conversation started with a discussion of whether Oracle really consider capped Solaris 10 Containers to be hard partitions for the purposes of per processor licensing. Sun say yes, but he thought Oracle might take a harder line on this, seeing as how Containers are essentially dynamic. Anybody have a definitive ruling on this?
Anyway, the upshot is, just because Oracle have built a CPU restriction into the XE install it doesn't mean we're likely to see similar enforcements in the licenced products any time soon. And that means if you've got a tweleve CPU server you need twelve per processor licences, even if you want to run Oracle on only one of them.
If you look at platforms which are supported for XE - Windows and Linux - what they have in common is the Intel chip. So perhaps the answer to the question lies in the need to restrict Oracle XE to a single CPU. XE does this by binding to a processor at start-up, and apparently this is a lot easier to do with Intel chips than other chip architectures. So my guess is we might see ports of XE to Solaris for x86 and also those new Macs running on Intel chips but not for other *nix flavours.
Incidentally, this came up when I was talking with a Unix sysadmin about Oracle per processor licences and the possibility of Oracle limiting non-XE databases to the number of processors licenced. The conversation started with a discussion of whether Oracle really consider capped Solaris 10 Containers to be hard partitions for the purposes of per processor licensing. Sun say yes, but he thought Oracle might take a harder line on this, seeing as how Containers are essentially dynamic. Anybody have a definitive ruling on this?
Anyway, the upshot is, just because Oracle have built a CPU restriction into the XE install it doesn't mean we're likely to see similar enforcements in the licenced products any time soon. And that means if you've got a tweleve CPU server you need twelve per processor licences, even if you want to run Oracle on only one of them.
Tuesday, March 21, 2006
Oracle profit announcements
Oracle has just announced profits up 42% on a revenue increase of 18%. That's a pretty good margin they're making. Most of this is from Applications rather than selling more database licences. Apparently, Oracle's strategic acquistions of PeopleSoft and JDEdwards is already bearing fruit.
So that's only another seventeen billion dollars to go before they've paid off the cost of all those acquisistions. Still, at least Larry will be able to sleep soundly at night instead of worrying about whether he can pay more than the monthly minimum on his credit card bill.
So that's only another seventeen billion dollars to go before they've paid off the cost of all those acquisistions. Still, at least Larry will be able to sleep soundly at night instead of worrying about whether he can pay more than the monthly minimum on his credit card bill.
Friday, March 17, 2006
New HTMLDB book out
Amazon are now selling Oracle HTML DB Handbook from Oracle Press. I guess nobody told Larry or Bradley that the name was about to change to Oracle Application Express. Interesting that Amazon have chosen to pair it with the Oracle Press book on Oracle Application Server 10g Web Development because TAFKAH is all about building Oracle web apps in as simple a fashion as possible and OAS, er, isn't.
Buy the book now
Buy the book now
Thursday, March 16, 2006
UKOUG Combined SIG 2006 Report
This was the second time three UKOUG SIGs - Development Engineering, Modelling & Design, and App Server - have combined to offer a shared experience. I like this event because it offers the crucial aspect of the conference (choice) without the boring bits (keynotes from marketing VPs).
I'm very happy with the DE Stream of this event. Each presentation was valuable and worth attending (no, honestly).
Ivan Pellegrin's presentation turned out to be only tangentially related to Customer Data Hub, which was a bit disappointing. However, his summation of Service Oriented Architecture was very good and interesting; I have sat through a lot of talks on SOA, BPM, BRM and BPEL recently and Ivan's was the most coherent overview of the topic I've heard.
Most interesting fact: SOA is the Dutch acronym for STD (that's the medical STD not the telco meaning).
Jonathan Ellard gave a thorough overview of Oracle's new XML Publisher. Now that Oracle have extracted it from Apps and packaged it as a standalone product this looks set to replace Reports as the tool of choice for producing documents. By modularising the various aspects of a document - data logic, layout and format - it makes documents easier to manage and quicker to modify. It also hands control of the appearance back to the business users. Jonathan demonstrated the cardinal virtue of having a demo in your presentation: you can squeeze it if you're running short of time without affecting the overall shape of the talk. Although he really ought to have had the licensing details to hand. People will always ask that question.
Most interesting fact: Oracle Apps has ~90,000 RDF files.
Rob Baillie's talk on Agile Database Development was really interesting. He avoided the sort of buzzwords that seem to annoy people (refactoring, pair programming) and concentrated on the practices that are key to success in a database project regardless of whether it's "agile": properly implemented source control, a simple, robust and tested build script, and clear demarcation of development code from working code. Rob started his presentation by saying that he hoped everybody else in the Oracle world was building systems liked this and that therefore everybody would feel he had wasted their time. I think it's safe to say that nobody in the audience felt they had wasted their time listening to Rob. It was his first presentation but you wouldn't have guessed it: he was fluent and confident, and his talk was well-structured.
Most useful piece of advice: Assume that the person performing the upgrade is an idiot.
We had a full house for Sue Harper's demonstration of SQL Developer, which I think is testament to the interest there is in this part of the tool space. Sue's an old hand at UKOUG presentations but she's only been on the SQL Developer team for a couple of months so I think it was still an edgy prospect for her. In the course of the demo she discovered a couple of (very minor) issues to raise when she got back to the office. Overall, a good introduction to an exciting new product.
Most interesting fact (actually not from the presentation but gleaned whilst chatting to Sue afterwards): every person on the SQL Developer team (even the managers) has to build and maintain an addin as their own personal project. I think this is a very good idea: it keep everybody aware of the quality of the user experience and it should provide some useful extensions.
As it goes, so it went.
I must say that the turnout was a little on the low side, disappointingly so. Down a third on last year. Why is this? Slough's not that bad. Perhaps it was due to the lack of Forms presentations but I doubt it. Rather it is symptomatic of the broader problem we have on the development side of things. We usually have a much smaller turnout for developer/designer/deliverer SIGs than the DBA-oriented SIGs get.
I confess to being a bit puzzled by this: on any project I've ever worked on, the DBAs have been outnumbered by analysts, designers, developers and project managers by at least five to one. So how the disparity in turnout? I have a couple of theories. One is that the UKOUG memberships tend to be managed by DBAs. This kind of makes sense: Oracle's a database and the DBAs manage the database so why not have them manage the user group stuff too? But I suspect that many memberships are managed by gatekeepers who attend the meetings they are interested in but don't publicise the other SIGs to people throughout their organisation.
My other theory is that developers are only allowed to attend meetings that deal with stuff that is immediately relevant to their current job. This also makes sense. Sending someone out of the office for a day costs, both in lost productivity and expenses. The DE SIG has to cover a very broad waterfront: traditional tools like Forms and Reports, new kids like JDeveloper and TAFKAH, plus PL/SQL, XML and Java generally, third party products, development practices, architecture, etc. It's a rare individual who's going to have a job that requires immediate knowledge of all of those things. But in the fast moving world of technology it is important to have an awareness of all the things that are going on, even if we're not using them right now. So you're a Forms shop: does that mean Java is not relevant to you? Even now Java is a way to add functionality into a Forms application. But Fusion is coming and Fusion is going to be pure J2EE. Once Oracle Apps has completely replaced all its Forms how long will Oracle keep the tool going? Well the roadmap says Forms will be supported at least until 2013 but that's actually not very far away (Forms 6.0 is almost as old now as Forms 10 will be by then).
What is the solution to the case of the missing developers? I haven't got one yet. I think it's what Sherlock called "a three pipe problem".
I did a quick survey of blog awareness amongst the audience. Whilst just about everybody used some forum or other less than half of them read any blogs. And only six people actually maintained one (including me). Everybody else must have a life or something.
The DE Stream
I'm very happy with the DE Stream of this event. Each presentation was valuable and worth attending (no, honestly).
Ivan Pellegrin's presentation turned out to be only tangentially related to Customer Data Hub, which was a bit disappointing. However, his summation of Service Oriented Architecture was very good and interesting; I have sat through a lot of talks on SOA, BPM, BRM and BPEL recently and Ivan's was the most coherent overview of the topic I've heard.
Most interesting fact: SOA is the Dutch acronym for STD (that's the medical STD not the telco meaning).
Jonathan Ellard gave a thorough overview of Oracle's new XML Publisher. Now that Oracle have extracted it from Apps and packaged it as a standalone product this looks set to replace Reports as the tool of choice for producing documents. By modularising the various aspects of a document - data logic, layout and format - it makes documents easier to manage and quicker to modify. It also hands control of the appearance back to the business users. Jonathan demonstrated the cardinal virtue of having a demo in your presentation: you can squeeze it if you're running short of time without affecting the overall shape of the talk. Although he really ought to have had the licensing details to hand. People will always ask that question.
Most interesting fact: Oracle Apps has ~90,000 RDF files.
Rob Baillie's talk on Agile Database Development was really interesting. He avoided the sort of buzzwords that seem to annoy people (refactoring, pair programming) and concentrated on the practices that are key to success in a database project regardless of whether it's "agile": properly implemented source control, a simple, robust and tested build script, and clear demarcation of development code from working code. Rob started his presentation by saying that he hoped everybody else in the Oracle world was building systems liked this and that therefore everybody would feel he had wasted their time. I think it's safe to say that nobody in the audience felt they had wasted their time listening to Rob. It was his first presentation but you wouldn't have guessed it: he was fluent and confident, and his talk was well-structured.
Most useful piece of advice: Assume that the person performing the upgrade is an idiot.
We had a full house for Sue Harper's demonstration of SQL Developer, which I think is testament to the interest there is in this part of the tool space. Sue's an old hand at UKOUG presentations but she's only been on the SQL Developer team for a couple of months so I think it was still an edgy prospect for her. In the course of the demo she discovered a couple of (very minor) issues to raise when she got back to the office. Overall, a good introduction to an exciting new product.
Most interesting fact (actually not from the presentation but gleaned whilst chatting to Sue afterwards): every person on the SQL Developer team (even the managers) has to build and maintain an addin as their own personal project. I think this is a very good idea: it keep everybody aware of the quality of the user experience and it should provide some useful extensions.
The event overall
As it goes, so it went.
I must say that the turnout was a little on the low side, disappointingly so. Down a third on last year. Why is this? Slough's not that bad. Perhaps it was due to the lack of Forms presentations but I doubt it. Rather it is symptomatic of the broader problem we have on the development side of things. We usually have a much smaller turnout for developer/designer/deliverer SIGs than the DBA-oriented SIGs get.
I confess to being a bit puzzled by this: on any project I've ever worked on, the DBAs have been outnumbered by analysts, designers, developers and project managers by at least five to one. So how the disparity in turnout? I have a couple of theories. One is that the UKOUG memberships tend to be managed by DBAs. This kind of makes sense: Oracle's a database and the DBAs manage the database so why not have them manage the user group stuff too? But I suspect that many memberships are managed by gatekeepers who attend the meetings they are interested in but don't publicise the other SIGs to people throughout their organisation.
My other theory is that developers are only allowed to attend meetings that deal with stuff that is immediately relevant to their current job. This also makes sense. Sending someone out of the office for a day costs, both in lost productivity and expenses. The DE SIG has to cover a very broad waterfront: traditional tools like Forms and Reports, new kids like JDeveloper and TAFKAH, plus PL/SQL, XML and Java generally, third party products, development practices, architecture, etc. It's a rare individual who's going to have a job that requires immediate knowledge of all of those things. But in the fast moving world of technology it is important to have an awareness of all the things that are going on, even if we're not using them right now. So you're a Forms shop: does that mean Java is not relevant to you? Even now Java is a way to add functionality into a Forms application. But Fusion is coming and Fusion is going to be pure J2EE. Once Oracle Apps has completely replaced all its Forms how long will Oracle keep the tool going? Well the roadmap says Forms will be supported at least until 2013 but that's actually not very far away (Forms 6.0 is almost as old now as Forms 10 will be by then).
What is the solution to the case of the missing developers? I haven't got one yet. I think it's what Sherlock called "a three pipe problem".
Last word
I did a quick survey of blog awareness amongst the audience. Whilst just about everybody used some forum or other less than half of them read any blogs. And only six people actually maintained one (including me). Everybody else must have a life or something.
Wednesday, March 15, 2006
Rumours of JDeveloper's svelteness have been exaggerated
A couple of years ago some of my J2EE colleagues switched from JDeveloper9i to Eclipse. They were not using ADF and they complained of feature bloat. Now there may have been a certain amount of "CV engineering" in this but they did have a point. The JDev download was then about 320MB compared to Eclipse's skinny 80MB. This was not because Eclipse had less features. It was just that Eclipse offered a bare framework and then we downloaded addins whereas JDeveloper made us download everything but we could switch off the bits we didn't want.
When I tell my friends in Oracle this they point out that JDeveloper has changed its approach now and it too offers a bloat-free framework with the option to just install what we need. Er, up to a point, Lord Copper.
I was talking to someone today about SQL Developer and how we could build addins for it, when I realised I had a really keen idea for an extension that would make my life a lot easier. It's a rather obvious idea and I'm sure people out there are already working on it. But it seemed like a good excuse for me to reinvigorate my rusting Java skills. So I thought I would download JDeveloper and have a look at building the addin for myself.
I downloaded and installed the base version, fired up the Update Centre to get the Extension SDK, and ... nothing. Turns out the ESDK has a dependency on the J2EE version of JDeveloper, which is not documented in the Feature Matrix. For reference, that version (without JRE) is 181MB compared to the base install which weighs in at a Jodie Kidd-like 52MB. I'm sure there are very good reasons why the ESDK has to use some J2EE components but bloating out JDeveloper by an additional 300% just to look at the feasibility of building a SQL Developer addin seems a bit daft.
If there is a way to install the Extension SDK without downloading all this all stuff I would glad to hear of it. Otherwise I shall just have to wait until somebody else builds the addin for me.
Yes I do realise that the Mark Twain quote I am alluding to is "Rumours of my death have been greatly exaggerated." But I don't think I should change the title as it will break the URL in OraBlogs.
In some late-breaking news it turns out that the dependency on J2EE resides not in the ESDK itself but in some of the examples. Apparently a crack team of JDev ninjas is working on separating the two types of examples even as you are reading this.
When I tell my friends in Oracle this they point out that JDeveloper has changed its approach now and it too offers a bloat-free framework with the option to just install what we need. Er, up to a point, Lord Copper.
I was talking to someone today about SQL Developer and how we could build addins for it, when I realised I had a really keen idea for an extension that would make my life a lot easier. It's a rather obvious idea and I'm sure people out there are already working on it. But it seemed like a good excuse for me to reinvigorate my rusting Java skills. So I thought I would download JDeveloper and have a look at building the addin for myself.
I downloaded and installed the base version, fired up the Update Centre to get the Extension SDK, and ... nothing. Turns out the ESDK has a dependency on the J2EE version of JDeveloper, which is not documented in the Feature Matrix. For reference, that version (without JRE) is 181MB compared to the base install which weighs in at a Jodie Kidd-like 52MB. I'm sure there are very good reasons why the ESDK has to use some J2EE components but bloating out JDeveloper by an additional 300% just to look at the feasibility of building a SQL Developer addin seems a bit daft.
If there is a way to install the Extension SDK without downloading all this all stuff I would glad to hear of it. Otherwise I shall just have to wait until somebody else builds the addin for me.
Update
Yes I do realise that the Mark Twain quote I am alluding to is "Rumours of my death have been greatly exaggerated." But I don't think I should change the title as it will break the URL in OraBlogs.
Update #2
In some late-breaking news it turns out that the dependency on J2EE resides not in the ESDK itself but in some of the examples. Apparently a crack team of JDev ninjas is working on separating the two types of examples even as you are reading this.
Monday, March 13, 2006
SQL Developer is now in production!
SQL Developer build 1467 is the Production 1.0 release. So that's just seven months after the first unveiling of the Raptor stealth project at OOW2K5SF. Obviously a lot of the foundation had been done under the JDeveloper project but it's still pretty good going.
I think Kris Rice and the rest of the team have delivered a very useful product. The key issue they face now is trying to meet the demands for additional functionality (I want to be able to specify a default directory for PL/SQL files and it would be helpful if we could use SQL Developer to edit Java Stored Procedures, although I suspect that's not a simple one to solve). Of course, this is a nice problem to have, much to be preferred over releasing applications to user indifference. Some cheeky blighter (alright, me) has posted a question on the forum asking for a roadmap of future releases, as they cannot maintain the recent flurry of EA releases.
The timing of the announcement is sweet, because tomorrow Oracle's very own Sue Harper will be doing a presentation on SQL Developer tomorrow in the DE SIG stream of the UKOUG Combined SIG. So I think that will be its first official outing, at least on this side of the pond.
I think Kris Rice and the rest of the team have delivered a very useful product. The key issue they face now is trying to meet the demands for additional functionality (I want to be able to specify a default directory for PL/SQL files and it would be helpful if we could use SQL Developer to edit Java Stored Procedures, although I suspect that's not a simple one to solve). Of course, this is a nice problem to have, much to be preferred over releasing applications to user indifference. Some cheeky blighter (alright, me) has posted a question on the forum asking for a roadmap of future releases, as they cannot maintain the recent flurry of EA releases.
The timing of the announcement is sweet, because tomorrow Oracle's very own Sue Harper will be doing a presentation on SQL Developer tomorrow in the DE SIG stream of the UKOUG Combined SIG. So I think that will be its first official outing, at least on this side of the pond.
Friday, March 10, 2006
My first Oracle WTF
Fame at last! Oracle WTF has accepted my first submission. This was a suggestion in an OTN forum thread on recovering passwords; the poster proposed amending the password verification function to store the username and password in a normal table. It takes a rare kind of mind to come up with ideas like that, subverting the password checker to ensure that every password is long, strong and known to everyone with SELECT ANY TABLE privilege.
Tuesday, March 07, 2006
Oracle neglects its tools?
CBR reports the outcome of a Evans Data survey of IDE usage (it looks like the actual survey results are only available to Evans Data's subscribers). The top IDE is MS Visual Studio followed by Eclipse. No surprises there. The most liked IDE is Rational Application Developer.
So where did the Oracle tool set come? Well, a lot of people are using Developer Suite, but:
This is where it be nice to see a breakdown of the IDE users. CBR reports that "the study claims Oracle has neglected its tools" but that's not wholly fair. Oracle has been putting a lot of effort into its JDeveloper tool albeit to a large amount of indifference from the larger Java community and its existing Developer Suite customer base, if our experience at the UKOUG DE SIG is anything to go by. There is also Oracle Application Express (FKA HTMLDB) and SQL Developer (FKA Raptor) so recently there has been a lot of work within the Oracle Tools group.
What is true is there has not been much good news in the traditional areas: de-supporting client/server Forms alienated many customers and Oracle's treatment of its Designer tool has driven a fanatical set of users to starting developing their own modelling suite ("The Tool", based on Dulcian's BRIM product). So perhaps Evans Data just spoke to a lot of disgruntled Forms and Designer developers. Or a bunch of Java heads who resented having to use a proprietary tool instead of some cool amalgam of Eclipse, Hibernate and Spring.
Blatent plug: UKOUG members can find out more about what's happening in the Oracle Tools space by coming along to the DE SIG stream of the UKOUG Combined SIG day next week in Slough.
So where did the Oracle tool set come? Well, a lot of people are using Developer Suite, but:
Significantly, popularity did not necessarily translate to satisfied customers. Oracle had plenty of developers who ranked it at or near bottom in almost every category. Of course, it could be argued, the more developers, the more chance to have dissatisfied customers.
This is where it be nice to see a breakdown of the IDE users. CBR reports that "the study claims Oracle has neglected its tools" but that's not wholly fair. Oracle has been putting a lot of effort into its JDeveloper tool albeit to a large amount of indifference from the larger Java community and its existing Developer Suite customer base, if our experience at the UKOUG DE SIG is anything to go by. There is also Oracle Application Express (FKA HTMLDB) and SQL Developer (FKA Raptor) so recently there has been a lot of work within the Oracle Tools group.
What is true is there has not been much good news in the traditional areas: de-supporting client/server Forms alienated many customers and Oracle's treatment of its Designer tool has driven a fanatical set of users to starting developing their own modelling suite ("The Tool", based on Dulcian's BRIM product). So perhaps Evans Data just spoke to a lot of disgruntled Forms and Designer developers. Or a bunch of Java heads who resented having to use a proprietary tool instead of some cool amalgam of Eclipse, Hibernate and Spring.
Blatent plug: UKOUG members can find out more about what's happening in the Oracle Tools space by coming along to the DE SIG stream of the UKOUG Combined SIG day next week in Slough.
Monday, February 27, 2006
UKOUG Super SIG - 14-MAR-2006
Just over two weeks until the UKOUG Super SIG and we chairs are just figuring out what we're going to say in the start and end sessions. I do know there will be only a minimal mention of the F-word (that's Fusion, mister!)
The Super SIG is a joint day between the Development Engineering, Modelling & Design and Application Server SIGs. It's a bit like the conference only without keynotes and an exhibition i.e. just the interesting bits (am I allowed to say that? Oh well, I've said it). These SIGs have an overlapping audience but we frequently don't get the level of attendance that the database and Applications SIGs get, for reasons that are both complicated and mysterious. So last year UKOUG decided to have a combined SIG day with three streams. This was a roaring success and we've decided to run it again this year. If the success is repeated the Super SIG will become a permanent fixture in the UKOUG calendar.
I put together the DE SIG stream and I think it is a strong one. We have my colleague Ivan Pellegrin talking on Customer Data Hub and Data Quality. The whole Data Hub thing is one of Oracle's initiatives that seems like a good idea but doesn't seem to get a lot of attention. Then we have Jonathan Ellard of Oracle Consulting presenting a case study on XML Publisher, placing it in the context of Oracle's other reporting tools. Mark Rittman may think we're stepping on his toes but tools are part of our remit and a couple of attendees at previous SIGs have expressed an interest in finding out more about XML Publisher and how it compares with Reports and Discoverer. Jonathan hasn't yet got written clearance from the client, so he may have to present the case study in an anonymised version, which is always a tough on to pull off.
Next up is the blogosphere's very own "Bobalicious" Bob Baillie (providing he survives his snowboarding holiday in one piece). As those familiar with his blog may have guessed, Bob's going to be talking about applying Agile practices to Oracle development projects. Lastly, Sue Harper, who we got on a free transfer from the M&D SIG, will be giving an overview of SQL Developer (AKA Raptor).
What is unusual about this line-up is that there are no presentations on Forms or Java. For a long time the DE SIG has really been the Forms SIG; in the last couple of years as Oracle has started to position Forms as a J2EE tool and to put the spotlight on JDeveloper we have done lots on Java. Our Oracle buddy is the very wonderful Duncan Mills after all. Still, there's a lot more to Oracle development than GUI tools and I hope this SIG will emphasise the fact.
The afternoon will finish with all three SIGs coming together for a presentation by Debi Platt of the Department of Work and Pensions on assistive technology for building accessible software. This is an important area which doesn't get nearly the attention it deserves, and which legally we are obliged to give it. That is why we decided it ought to be a joint session rather than be assigned to one SIG's stream.
The other SIGs have equally interesting agendas. The venue, Baylis House in Slough, is very pleasant and the lunch last year was top notch. If your organisation has a UKOUG membership then please come along. Because there are three SIGs on the same day each membership can send along three delegates. So, if your membership is dominated by one or two people who go to everything then this is the perfect opportunity to attend for free. Hope to see you there.
The Super SIG is a joint day between the Development Engineering, Modelling & Design and Application Server SIGs. It's a bit like the conference only without keynotes and an exhibition i.e. just the interesting bits (am I allowed to say that? Oh well, I've said it). These SIGs have an overlapping audience but we frequently don't get the level of attendance that the database and Applications SIGs get, for reasons that are both complicated and mysterious. So last year UKOUG decided to have a combined SIG day with three streams. This was a roaring success and we've decided to run it again this year. If the success is repeated the Super SIG will become a permanent fixture in the UKOUG calendar.
I put together the DE SIG stream and I think it is a strong one. We have my colleague Ivan Pellegrin talking on Customer Data Hub and Data Quality. The whole Data Hub thing is one of Oracle's initiatives that seems like a good idea but doesn't seem to get a lot of attention. Then we have Jonathan Ellard of Oracle Consulting presenting a case study on XML Publisher, placing it in the context of Oracle's other reporting tools. Mark Rittman may think we're stepping on his toes but tools are part of our remit and a couple of attendees at previous SIGs have expressed an interest in finding out more about XML Publisher and how it compares with Reports and Discoverer. Jonathan hasn't yet got written clearance from the client, so he may have to present the case study in an anonymised version, which is always a tough on to pull off.
Next up is the blogosphere's very own "Bobalicious" Bob Baillie (providing he survives his snowboarding holiday in one piece). As those familiar with his blog may have guessed, Bob's going to be talking about applying Agile practices to Oracle development projects. Lastly, Sue Harper, who we got on a free transfer from the M&D SIG, will be giving an overview of SQL Developer (AKA Raptor).
What is unusual about this line-up is that there are no presentations on Forms or Java. For a long time the DE SIG has really been the Forms SIG; in the last couple of years as Oracle has started to position Forms as a J2EE tool and to put the spotlight on JDeveloper we have done lots on Java. Our Oracle buddy is the very wonderful Duncan Mills after all. Still, there's a lot more to Oracle development than GUI tools and I hope this SIG will emphasise the fact.
The afternoon will finish with all three SIGs coming together for a presentation by Debi Platt of the Department of Work and Pensions on assistive technology for building accessible software. This is an important area which doesn't get nearly the attention it deserves, and which legally we are obliged to give it. That is why we decided it ought to be a joint session rather than be assigned to one SIG's stream.
The other SIGs have equally interesting agendas. The venue, Baylis House in Slough, is very pleasant and the lunch last year was top notch. If your organisation has a UKOUG membership then please come along. Because there are three SIGs on the same day each membership can send along three delegates. So, if your membership is dominated by one or two people who go to everything then this is the perfect opportunity to attend for free. Hope to see you there.
Friday, February 24, 2006
How to ask a question the really dumb way
There's a thread on the Metalink forum which is a splendid example of how not to ask a question. The OP includes sample data with a typo in it. Unfortunately this typo makes it very difficult to understand the questioner's precise problem. When the a responder points this out the OP loses his rag, the initial responder really loses his rag and it sadly deteriorates from there. Most entertaining.
The teaching is: in this modern world of instant communication where the lingua franca is often people's second or third language it is to easy to imagine you're being dissed when you're not. The clue is: if somebody uses the word A$$HOLE they probably are dissing you, but if all you see is something that might be meant sarcastically then they're probably not dissing you.
Ideally, people would re-read what they've typed a couple of times and re-word infelicitous phrases before pressing Send but who really does?
I actually wrote this post in an internet cafe under the most unforgiving deadline of all: expiry of my paid-for half hour. This meant I didn't test the link in my post and I would like to thank Peter Lewis for taking the time to put the correct one in his comment. The other problem was that I wrote the original title as How to answer questions the really dumb way whereas the real dumbness was obviously on the part of the asker. I have corrected both of these faults. Given my comments on posting at haste without proof-reading, the irony is stunning.
The teaching is: in this modern world of instant communication where the lingua franca is often people's second or third language it is to easy to imagine you're being dissed when you're not. The clue is: if somebody uses the word A$$HOLE they probably are dissing you, but if all you see is something that might be meant sarcastically then they're probably not dissing you.
Ideally, people would re-read what they've typed a couple of times and re-word infelicitous phrases before pressing Send but who really does?
Update
I actually wrote this post in an internet cafe under the most unforgiving deadline of all: expiry of my paid-for half hour. This meant I didn't test the link in my post and I would like to thank Peter Lewis for taking the time to put the correct one in his comment. The other problem was that I wrote the original title as How to answer questions the really dumb way whereas the real dumbness was obviously on the part of the asker. I have corrected both of these faults. Given my comments on posting at haste without proof-reading, the irony is stunning.
Thursday, February 23, 2006
We can imagine it for you wholesale
Last night I attended a fascinating lecture at the BCS: Dr Richard Barbrook on Post-Industrial Imperialism - The imaginary future of the information society. This was an examination of the origins of the internet. Not its technical origins but its political, philosophical and sociological origins. The key question is, if ARPANET was supposed to be a communications network for use after a nuclear war why was it made out of flaky computers instead of almost indestructible switches? Because it wasn't really about post-nuclear communication, it was about demonstrating the superiority of the American future.
Barbrook's intriguing premise is that the internet is the future we've been promised for over forty years now. He started off with Marshall McLuhan. We've lived so long inside a cloud of McLuhanisms - the global village, the medium is the message, yadda yadda - that it's easy to forget that his key vision was the usurpation of the dominant print culture by an electronic one. Now, with the maturing of the internet, we are living in something approaching McLuhan's information society. (But Tony Blair and others are still saying we need to move to a "knowledge economy". Will this darned future ever arrive?)
Barbrook then traced the rise of post-industrialism as a countervailing philosophy to Communism. This was part of a general mobilisation of the social scientists to fight the Cold War on the intellectual front in the same way that natural scientists were striving to beat the Russians on the technological battlefield. The Third Way, the Affluent Society, the Great Society: these coinages of the fifties and sixties asserted not just how much more modern was American society but the inevitability that all societies would evolve in such a fashion.
So were does the internet fit into all this? Well, at the same time Eastern Bloc thinkers, in the wake of the death of Stalin, were positing the Unified Information System. This gigantic network of computers, linking up every node of the economy, would replace the centralised bureaucracy of the five-year plan with mathematical programs. The fear in the US was that this Cybernetic Communism would be a second refutation of democracy's advanced technological status following hard on the heels of Sputnik and Gargarin. They needed to prove not just that that the American vision of the future was better but that democracy was better at realising the future. So ARPA poured millions of dollars into delivering on McLuhan's vision. Hence ARPANET, hence the internet.
Finally Barbrook took us on a quick trot through the Vietnam War. He highlighted it as the first electronic battlefield, with computers guiding bombing missions, planning campaigns, running simulations. And, of course, the infamous Body Count was a computer produced tool for assessing the nearness of an American victory and it was every bit as accurate as the average Excel pie chart is today. Of course, McNamara's background in automobile manufacturing also had a role shaping the technocratic approach the Americans took but that doesn't detract from Barbrook's point.
The irony was that the pre-industrial Vietnamese guerillas understood far better than the American technorati that the real electronic battlefield was television. From the Tet Offensive in 1968 to the re-enactment of the fall of Saigon for the TV cameras that weren't there the first time, everything the NVA did was assessed in the light of how it would look on the six o'clock news. Despite the fact that the Americans were deploying cutting edge technology on the battlefield in the service of a new definition of geo-political interest they were fighting an old-fashioned war, of the kind von Clausewitz would have recognised. It was the Viet Cong who were fighting a post-modern war.
Barbrook finished off his presentation with an exhortation. The internet was the future as refracted by the lens of the Cold War. But cold war is over and it's time to invent new futures. This would be preferable to the current "new idea" - the Clash of Cultures - which is just the Cold War rebadged. The echoes of Vietnam in the Iraq imbroglio are compelling. I have seen the future and it's a re-run.
Having attended a number of training courses, seminars and presentations recently I am aware of the gap between academe and the usual business talk. Barbrook was confident, fluent and on top of his subject. He did use slides (Flash not Powerpoint, he is that revolutionary!) but it consisted of apposite pictures (not clip art) and relatively few words other than well-chosen quotes. Besides, you've got to admire a man whose opening line to a British Computer Society meeting is, "I'm not a techy, I've got a Mac."
In case it's not abundantly clear I thoroughly enjoyed this lecture. It reminded me of some of the enthusiasms of my youth - history, the Vietnam War, cultural studies, sixties American SF - and made it seem slightly less unlikely that I ended up as a database developer. Barbrook has written a book, Imaginary Futures, the draft of which is available for downloading. In an aside he observed that far from factories turning into universities we've ended up with universities becoming like factories. So do your bit to reverse this trend by printing a copy on your work's printer today!
Barbrook's intriguing premise is that the internet is the future we've been promised for over forty years now. He started off with Marshall McLuhan. We've lived so long inside a cloud of McLuhanisms - the global village, the medium is the message, yadda yadda - that it's easy to forget that his key vision was the usurpation of the dominant print culture by an electronic one. Now, with the maturing of the internet, we are living in something approaching McLuhan's information society. (But Tony Blair and others are still saying we need to move to a "knowledge economy". Will this darned future ever arrive?)
Barbrook then traced the rise of post-industrialism as a countervailing philosophy to Communism. This was part of a general mobilisation of the social scientists to fight the Cold War on the intellectual front in the same way that natural scientists were striving to beat the Russians on the technological battlefield. The Third Way, the Affluent Society, the Great Society: these coinages of the fifties and sixties asserted not just how much more modern was American society but the inevitability that all societies would evolve in such a fashion.
So were does the internet fit into all this? Well, at the same time Eastern Bloc thinkers, in the wake of the death of Stalin, were positing the Unified Information System. This gigantic network of computers, linking up every node of the economy, would replace the centralised bureaucracy of the five-year plan with mathematical programs. The fear in the US was that this Cybernetic Communism would be a second refutation of democracy's advanced technological status following hard on the heels of Sputnik and Gargarin. They needed to prove not just that that the American vision of the future was better but that democracy was better at realising the future. So ARPA poured millions of dollars into delivering on McLuhan's vision. Hence ARPANET, hence the internet.
Finally Barbrook took us on a quick trot through the Vietnam War. He highlighted it as the first electronic battlefield, with computers guiding bombing missions, planning campaigns, running simulations. And, of course, the infamous Body Count was a computer produced tool for assessing the nearness of an American victory and it was every bit as accurate as the average Excel pie chart is today. Of course, McNamara's background in automobile manufacturing also had a role shaping the technocratic approach the Americans took but that doesn't detract from Barbrook's point.
The irony was that the pre-industrial Vietnamese guerillas understood far better than the American technorati that the real electronic battlefield was television. From the Tet Offensive in 1968 to the re-enactment of the fall of Saigon for the TV cameras that weren't there the first time, everything the NVA did was assessed in the light of how it would look on the six o'clock news. Despite the fact that the Americans were deploying cutting edge technology on the battlefield in the service of a new definition of geo-political interest they were fighting an old-fashioned war, of the kind von Clausewitz would have recognised. It was the Viet Cong who were fighting a post-modern war.
Barbrook finished off his presentation with an exhortation. The internet was the future as refracted by the lens of the Cold War. But cold war is over and it's time to invent new futures. This would be preferable to the current "new idea" - the Clash of Cultures - which is just the Cold War rebadged. The echoes of Vietnam in the Iraq imbroglio are compelling. I have seen the future and it's a re-run.
Having attended a number of training courses, seminars and presentations recently I am aware of the gap between academe and the usual business talk. Barbrook was confident, fluent and on top of his subject. He did use slides (Flash not Powerpoint, he is that revolutionary!) but it consisted of apposite pictures (not clip art) and relatively few words other than well-chosen quotes. Besides, you've got to admire a man whose opening line to a British Computer Society meeting is, "I'm not a techy, I've got a Mac."
In case it's not abundantly clear I thoroughly enjoyed this lecture. It reminded me of some of the enthusiasms of my youth - history, the Vietnam War, cultural studies, sixties American SF - and made it seem slightly less unlikely that I ended up as a database developer. Barbrook has written a book, Imaginary Futures, the draft of which is available for downloading. In an aside he observed that far from factories turning into universities we've ended up with universities becoming like factories. So do your bit to reverse this trend by printing a copy on your work's printer today!
Monday, February 20, 2006
Hacking Oracle using Google Fu
A rather excitable young person has just posted to the OTN forums on the topic Oracle...Most Insecure Database!. The thrust of which is that they have read the AppSec white paper on using Google to identify vulnerable databases which can then be hacked using known passwords for the usual accounts and SQL injection.
The interesting part is that, if I have understood them correctly, they have actually used the techniques in this paper to hack databases. Hence their Chicken Licken schtick. From other postings I know this person is a relative beginner (they've done the OCA course a month ago but not taken the exams yet). So it is obviously pretty easy for anybody with a little knowledge to get into insecure Oracle databases through iSQL*Plus.
The poster draws one conclusion from this - that Oracle is inherently insecure - when perhaps a more valid conclusion is that many Oracle databases are set-up by people too ignorant or too lazy to put even token protections in place.
I have clarified this with the original poster, and the database they have hacked is their own trial server and not someone else's.
The interesting part is that, if I have understood them correctly, they have actually used the techniques in this paper to hack databases. Hence their Chicken Licken schtick. From other postings I know this person is a relative beginner (they've done the OCA course a month ago but not taken the exams yet). So it is obviously pretty easy for anybody with a little knowledge to get into insecure Oracle databases through iSQL*Plus.
The poster draws one conclusion from this - that Oracle is inherently insecure - when perhaps a more valid conclusion is that many Oracle databases are set-up by people too ignorant or too lazy to put even token protections in place.
Update
I have clarified this with the original poster, and the database they have hacked is their own trial server and not someone else's.
Friday, February 17, 2006
Intellect "After 5"
Last night I attended an Intellect "After 5" briefing on Grid Computing, co-sponsored by the Welsh Development Agency. I did learn a few things. For instance, who knew the Welsh made wine (and that it was surprisingly not bad)? Or whisky (not tried yet)?
The actual stuff about computing was very general. The first half consisted of an overview of "Grid computing" by a couple of nice blokes from ThoughtWorks. Ben and Sam focused on computational grids (like SETI@home) rather than data grids. Hence no mention of Google or Amazon, of Sun's utility computing model or even RAC. Still it was interesting to learn that Novartis are using the scavenging technique to assess candidate drugs. By downloading a screen saver program to 2700 of their employees' desktops they built a computational grid equivalent in crunch to the fifteenth most powerful supercomputer in the world. Apparently there are licensing implications for such an approach (or maybe they were talking about RAC after all!)
The second half was some evangelising on "globally distributed endeavour" from Dr Alex Hardisty of Cardiff University. Again it was interesting to hear about things like the medical community's response to the SARS outbreak in Taiwan but I don't think Alex quite made the link between experiments in collaborative working and Grid computing in a commercial environment. This felt more like Video-Conferencing 2.0 than anything else. I don't doubt that he is correct in saying that the future of the internet is going to be more about collaboration than anything else. But I think he underestimates the scale of the task. The real problems are not technical they are political. When was the last time you heard the phrase "joined-up government" being used in any way other than ironically?
I suppose I'm not the target audience for these Intellect briefings. Intellect's remit is to raise general awareness of IT matters in industry generally so the briefings are very non-technical. Nevertheless, I feel they missed a trick by failing to cover data grids adequately. Computational grids fit relatively narrow problem spaces: lots of repetitive calculation over discrete chunks of data. Most commercial users are likely to find data grids more applicable to their present needs. That's why it would have been useful to have more discussion about the IT behind Google or Amazon, both businesses where the scalability and performance of grid computing are key to their successes.
The other thing it would have been useful to learn about is progress towards the commoditisation of grid computing. The few examples of successful grid implementations I've heard of tend to be domain specific projects - hand-rolled, hardwired, hard coded. It's really only going to take off when the solutions become truly generic. Does that sound like RAC? Hmmm....
The actual stuff about computing was very general. The first half consisted of an overview of "Grid computing" by a couple of nice blokes from ThoughtWorks. Ben and Sam focused on computational grids (like SETI@home) rather than data grids. Hence no mention of Google or Amazon, of Sun's utility computing model or even RAC. Still it was interesting to learn that Novartis are using the scavenging technique to assess candidate drugs. By downloading a screen saver program to 2700 of their employees' desktops they built a computational grid equivalent in crunch to the fifteenth most powerful supercomputer in the world. Apparently there are licensing implications for such an approach (or maybe they were talking about RAC after all!)
The second half was some evangelising on "globally distributed endeavour" from Dr Alex Hardisty of Cardiff University. Again it was interesting to hear about things like the medical community's response to the SARS outbreak in Taiwan but I don't think Alex quite made the link between experiments in collaborative working and Grid computing in a commercial environment. This felt more like Video-Conferencing 2.0 than anything else. I don't doubt that he is correct in saying that the future of the internet is going to be more about collaboration than anything else. But I think he underestimates the scale of the task. The real problems are not technical they are political. When was the last time you heard the phrase "joined-up government" being used in any way other than ironically?
I suppose I'm not the target audience for these Intellect briefings. Intellect's remit is to raise general awareness of IT matters in industry generally so the briefings are very non-technical. Nevertheless, I feel they missed a trick by failing to cover data grids adequately. Computational grids fit relatively narrow problem spaces: lots of repetitive calculation over discrete chunks of data. Most commercial users are likely to find data grids more applicable to their present needs. That's why it would have been useful to have more discussion about the IT behind Google or Amazon, both businesses where the scalability and performance of grid computing are key to their successes.
The other thing it would have been useful to learn about is progress towards the commoditisation of grid computing. The few examples of successful grid implementations I've heard of tend to be domain specific projects - hand-rolled, hardwired, hard coded. It's really only going to take off when the solutions become truly generic. Does that sound like RAC? Hmmm....
Wednesday, February 15, 2006
Raptor RIP but SQL Developer zips!
I have just installed EA4 of what we used to call Raptor. Is it just me or is the performance no longer Teh Suck? In fact, SQL Developer has a start-up time of perfectly acceptable dimensions. It's still not quite as fast as TextPad but it's getting there.
And they fixed the bug I raised last Wednesday too!
And they fixed the bug I raised last Wednesday too!
Tuesday, February 07, 2006
QUTE looks, er, cute
Finally QUTE is available for download! The Quick Unit Testing Engine is the latest offering from Steven Feuerstein (Whom God Preserve) and is well worth a look. It's a tool for declaratively building PL/SQL unit tests. That is, QUTE provides a GUI for specifying test inputs and expected outputs; the tool generates the actual test code and executes it. There's lots of features for customising the code, defining test fixtures, etc. We can export QUTE test suites to a file. This means we can put them in source control alongside the PL/SQL application.
Essentially it is an evolution of his utPLSQL API. I love utPLSQL: it's a major contribution to code safety and I never understood why more people didn't use it. Perhaps everybody else always gets things right first time. I see there is a function so we can import our existing utPLSQL tests into QUTE. Unfortunately this hasn't worked for the two suites I've tried it with. I think this feature is an important one as I don't want to have to bounce between two different testing tools.
My main reservation is that when the program failed with a PLS-6502 error QUTE crashed and had to be re-started. I don't think that is very friendly. My other concern is more philosophical: QUTE isn't Test First. By its very nature we have to have a program unit signature before we can code a test. But once over that hump I'm sure we can get into a more Test Driven cycle.
Steven is still not certain about the roadmap yet. But he stated on the utPLSQL forum that QUTE will remain free for the foreseeable future. And as QUTE offers the ability to generate utPLSQL test suites we will retain our investment in the tests whatever he eventually decides.
At the moment QUTE is beta and there's plenty of room for improvement but I still think everybody ought to start using it now. Don't Google for it (Qute is the name of a FireFox icon set and several other things): download it from here.
I downloaded QUTE r3 last night and they've fixed the utPLSQL import bugs. Hurrah!
Essentially it is an evolution of his utPLSQL API. I love utPLSQL: it's a major contribution to code safety and I never understood why more people didn't use it. Perhaps everybody else always gets things right first time. I see there is a function so we can import our existing utPLSQL tests into QUTE. Unfortunately this hasn't worked for the two suites I've tried it with. I think this feature is an important one as I don't want to have to bounce between two different testing tools.
My main reservation is that when the program failed with a PLS-6502 error QUTE crashed and had to be re-started. I don't think that is very friendly. My other concern is more philosophical: QUTE isn't Test First. By its very nature we have to have a program unit signature before we can code a test. But once over that hump I'm sure we can get into a more Test Driven cycle.
Steven is still not certain about the roadmap yet. But he stated on the utPLSQL forum that QUTE will remain free for the foreseeable future. And as QUTE offers the ability to generate utPLSQL test suites we will retain our investment in the tests whatever he eventually decides.
At the moment QUTE is beta and there's plenty of room for improvement but I still think everybody ought to start using it now. Don't Google for it (Qute is the name of a FireFox icon set and several other things): download it from here.
Update: 15-FEB-2006
I downloaded QUTE r3 last night and they've fixed the utPLSQL import bugs. Hurrah!
Wednesday, February 01, 2006
How do you pronounce Oracle Application Express?
Okay, so HTMLDB was a bit of a mouthful but it's still a good three syllables short of Oracle Application Express. And at least it was short to type. OAE is no good either. It sounds like Tom just after Jerry whacks his toe with a hammer. Oh!Eh!Eee!
I expect the creatives in Marketing have sunk many martinis into the quest for a new name but this one is just not as meaningful as HTMLDB. Furthermore, given that we already have Oracle Applications, Oracle Express and Oracle Express Edition this new name just seems destined to cause confusion. Has Larry imposed some kind of budget on the number of words that can be used in products names?
One of the good things about Raptor is its cool name. That is a name clearly targetted at hax0r d00dz (or least people who got into computing through Amiga and Spectrum games). What we need is a similar cool and easy to pronounce name for HTMLDB. Not another dinosaur. Something cuter, friendlier but just as smart. Project Meerkat anybody?
Since posting this it has occured to me that a compromise solution could be to use the same convention as when Prince changed his name to an unpronounceable symbol. Not OAE but The Application Formerly Known As HTMLDB, which gives us the very nice acronym TAFKAH ("As Ivor Jones awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect").
I expect the creatives in Marketing have sunk many martinis into the quest for a new name but this one is just not as meaningful as HTMLDB. Furthermore, given that we already have Oracle Applications, Oracle Express and Oracle Express Edition this new name just seems destined to cause confusion. Has Larry imposed some kind of budget on the number of words that can be used in products names?
One of the good things about Raptor is its cool name. That is a name clearly targetted at hax0r d00dz (or least people who got into computing through Amiga and Spectrum games). What we need is a similar cool and easy to pronounce name for HTMLDB. Not another dinosaur. Something cuter, friendlier but just as smart. Project Meerkat anybody?
Update
Since posting this it has occured to me that a compromise solution could be to use the same convention as when Prince changed his name to an unpronounceable symbol. Not OAE but The Application Formerly Known As HTMLDB, which gives us the very nice acronym TAFKAH ("As Ivor Jones awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect").
On RAC, death and taxes
Yesterday I attended a briefing for Partners on Oracle 10g New Features and Grid sponsored by SCC at Oracle's City office. The bulk of the presentations were done by James Anthony, who's one of those scary OCM types. James presented a very dense set of sessions which contained lots of useful information. Martin Dale from Sun was also there to talk about the new Niagara chips. I think we'll definitely be looking at the T2000 servers for our web server and data mart.
I must confess I originally signed up for this event because it was free and it was a day out of the office but the timing was actually very handy. We are currently specifying the architecture of the next phase of my current project right now, and migrating to 10g and Grid are key objectives for me. In the pub afterwards, Tim Hilton (SCC's Oracle Practice manager) made the point that RAC is a win-win situation. The high availability combined with cheap(-ish) components keeps the bean-counters happy and the techies get to play with some gnarly technology.
Originally there was supposed to be a RAC demo but unfortunately some navvy put his spade through a link between the SCC office in Brum and London so the day wrapped early. Thus proving that Sun plus Oracle really does equal faster throughput.
Where it all went wrong is when Tim said he'd be buying drinks in the pub afterwards. I should have gone straight home to the bosom of my family but I succumbed to the lure of free Guinness. Not that there was anything wrong with the Guinness. It's just that while I was enjoying them some poor sad soul was making the decision to throw themselves under a tube train at Balham. A fact I discovered when everybody was detrained at Stockwell due to "passenger action". I'll skip the details of public transport in South London. Suffice to say there's only one bus route between Stockwell and Tooting, running every ten minutes in rush hour, and crammed. Minicabs were a thirty minute wait. Black cabs? Don't be daft this is south of the river. So I got a bus to get as far as Clapham and walked it from there.
As I trudged the long walk home I was afforded plenty of time to ponder the irony of the situation. Most of the 10g features James had talked about - Flashback, RMAN, RAC, Data Guard - are about resiliance, recovery, continuity of service, seamless failover. But those are things we only have for IT systems these days. The transport system has no slack: if the northern line is running everything is okay, but if it's out there is no alternative except walking. Of course, the elimination of slack is a response to obvious economic imperatives (people don't like to pay tax) but these unplanned outages are becoming a regular event. Still, the person who went under probably had a worse evening.
One more thing. Whilst I was on the 88 bus I overheard (everybody overheard) some guy on a mobile phone planning his weekend in the Alps. He was telling a friend which extreme sports website to visit in order to book crampons, ice picks, etc. Which leads me to:
The Great Paradox Of Modern Life
If you're in Stockwell on Tuesday evening and you want to ascend a glacier in Chamonix on Saturday afternoon you're golden.
If you're in Stockwell on Tuesday evening and you want to get to Tooting on Tuesday evening you're stuffed.
I must confess I originally signed up for this event because it was free and it was a day out of the office but the timing was actually very handy. We are currently specifying the architecture of the next phase of my current project right now, and migrating to 10g and Grid are key objectives for me. In the pub afterwards, Tim Hilton (SCC's Oracle Practice manager) made the point that RAC is a win-win situation. The high availability combined with cheap(-ish) components keeps the bean-counters happy and the techies get to play with some gnarly technology.
I should have known better
Originally there was supposed to be a RAC demo but unfortunately some navvy put his spade through a link between the SCC office in Brum and London so the day wrapped early. Thus proving that Sun plus Oracle really does equal faster throughput.
Where it all went wrong is when Tim said he'd be buying drinks in the pub afterwards. I should have gone straight home to the bosom of my family but I succumbed to the lure of free Guinness. Not that there was anything wrong with the Guinness. It's just that while I was enjoying them some poor sad soul was making the decision to throw themselves under a tube train at Balham. A fact I discovered when everybody was detrained at Stockwell due to "passenger action". I'll skip the details of public transport in South London. Suffice to say there's only one bus route between Stockwell and Tooting, running every ten minutes in rush hour, and crammed. Minicabs were a thirty minute wait. Black cabs? Don't be daft this is south of the river. So I got a bus to get as far as Clapham and walked it from there.
Give me slack or give me death
As I trudged the long walk home I was afforded plenty of time to ponder the irony of the situation. Most of the 10g features James had talked about - Flashback, RMAN, RAC, Data Guard - are about resiliance, recovery, continuity of service, seamless failover. But those are things we only have for IT systems these days. The transport system has no slack: if the northern line is running everything is okay, but if it's out there is no alternative except walking. Of course, the elimination of slack is a response to obvious economic imperatives (people don't like to pay tax) but these unplanned outages are becoming a regular event. Still, the person who went under probably had a worse evening.
One more thing. Whilst I was on the 88 bus I overheard (everybody overheard) some guy on a mobile phone planning his weekend in the Alps. He was telling a friend which extreme sports website to visit in order to book crampons, ice picks, etc. Which leads me to:
The Great Paradox Of Modern Life
If you're in Stockwell on Tuesday evening and you want to ascend a glacier in Chamonix on Saturday afternoon you're golden.
If you're in Stockwell on Tuesday evening and you want to get to Tooting on Tuesday evening you're stuffed.
Friday, January 27, 2006
ITIL: Normal Service Will Be Resumed Just As Soon As We Know What Normal Is
I have just attended a briefing on ITIL, the IT Infrastructure library. This was very interesting, despite not answering my burning question: pronunciation. Apparently we can pronounce it "EYE-tul" or "itt-ILL" or indeed any way we choose, including spelling out the initials1. Whichever way we pronounce it, ITIL is a framework for best practices for the delivery of IT services assembled by CCTA, the folks who've also given us SSADM and PRINCE. We tend to think about IT services as being application support, networks, etc but it should cover everything, including system development. Certainly anybody who is a production DBA is in the business of delivering an IT service.
I had come across ITIL once before, when working as a consultant for a government agency. This was a long running gig, in which we were responsible for the whole IT provision. After a couple of years the word "ITIL" got bandied around but it seemed to make no difference to our delivery of services. This briefing explained why: it takes three to five years to successfully implement ITIL. Which is quite astonishing given that these days it is rare for an IT project to last more twelve months. ITIL requires such a lot of time to implement because it is a framework for thinking about service delivery rather than a set of procedures. ITIL covers the what and to a certain extent the why; of course, the real work is in the how. Identifying discrete processes and documenting them is what takes the time, particularly as each will probably take several iterations to get them right. One useful tip I learnt is that anybody who mentions "ITIL compliance" is talking through their hat. Being a set of suggestions ITIL has nothing to comply with2.
The reason why ITIL can specify such a long time scale is that it is actually targeted at internal IT departments delivering services to their company's users. This assumption reveals itself it a number of ways. For instance, ITIL has SLAs - Service Level Agreements (the definition of Normal Service and permitted deviations) - because an agreement suffices when we have an IT department dealing with their business colleagues. This is a very bad fit with the prevalent model of IT today - outsourcing and consultancy - which is wholly driven by contracts and contractual negotiation. The next revision of ITIL (due 2007) apparently will address this aspect of service delivery.
By codifying and standardising terms ITIL provides a useful way of thinking about things. For instance it distinguishes Incident Management from Problem Management. Incident Management is when our users cannot connect to the system because the listener is down; restart the listener and the incident is closed. Normal service has been resumed. Problem Management on the other hand is when the listener has crashed three times in the last month and we need to find out why; is it because we don't have a separate listener for the extproc?
Another useful distinction is User and Customer. Both are consumers of our service. The user is the person who actually, um, uses the service whereas the customer is the one who pays for it. This means that the user and the customer have different priorities. The user needs the service to carry out their job, so they tend to be interested in quality, especially reliability. The customer has a set of targets for their business which our service helps them meet. Therefore they are interested in value for money. This matters because it is the customer who specifies the service. ITIL assumes the customer talks to the user, but this is not always the case. Another difference is that the IT Department mostly deals with the user. When it all goes horribly wrong it is the user who phones the Help Desk not the customer.
I find distinction between user and customer helpful because it illuminates several of my previous development projects. As a consultant I am exhorted to regard all the staff who work for my clients as customers. This is a good thing. But it is useful to distinguish between the people who use the system and the people who will fund its development. Given free rein in the Requirement Gathering stage users will tend to ask for the moon on a stick. We need the customer to remind them of the harsh financial realities. Alternatively it is not unknown for customers to seek to use a development project to drive through business change, riding roughshod over their own users' requirements. This is a harder one to handle: they are paying for it. All the IT team can do is assert the need for the users to be trained in the new way of working as well the new system. I think now I could look at any requirement and determine whether it is a user's requirement or a customer's requirement.
These are political rather than technical issues and ITIL is not going to solve them. However, by identifying the issues and defining responsibilities for both technical and business roles it seems to provide a useful start. I'm sufficiently enthused to consider doing the ITIL foundation course.
1. Apperently "EYEtul" sounds like something rude in Manadarin or Cantonese but then doesn't everything?
2. Although there are now the BS15000 and ISO20000 standards, which mandate certain ITIL practices.
I had come across ITIL once before, when working as a consultant for a government agency. This was a long running gig, in which we were responsible for the whole IT provision. After a couple of years the word "ITIL" got bandied around but it seemed to make no difference to our delivery of services. This briefing explained why: it takes three to five years to successfully implement ITIL. Which is quite astonishing given that these days it is rare for an IT project to last more twelve months. ITIL requires such a lot of time to implement because it is a framework for thinking about service delivery rather than a set of procedures. ITIL covers the what and to a certain extent the why; of course, the real work is in the how. Identifying discrete processes and documenting them is what takes the time, particularly as each will probably take several iterations to get them right. One useful tip I learnt is that anybody who mentions "ITIL compliance" is talking through their hat. Being a set of suggestions ITIL has nothing to comply with2.
The reason why ITIL can specify such a long time scale is that it is actually targeted at internal IT departments delivering services to their company's users. This assumption reveals itself it a number of ways. For instance, ITIL has SLAs - Service Level Agreements (the definition of Normal Service and permitted deviations) - because an agreement suffices when we have an IT department dealing with their business colleagues. This is a very bad fit with the prevalent model of IT today - outsourcing and consultancy - which is wholly driven by contracts and contractual negotiation. The next revision of ITIL (due 2007) apparently will address this aspect of service delivery.
By codifying and standardising terms ITIL provides a useful way of thinking about things. For instance it distinguishes Incident Management from Problem Management. Incident Management is when our users cannot connect to the system because the listener is down; restart the listener and the incident is closed. Normal service has been resumed. Problem Management on the other hand is when the listener has crashed three times in the last month and we need to find out why; is it because we don't have a separate listener for the extproc?
Another useful distinction is User and Customer. Both are consumers of our service. The user is the person who actually, um, uses the service whereas the customer is the one who pays for it. This means that the user and the customer have different priorities. The user needs the service to carry out their job, so they tend to be interested in quality, especially reliability. The customer has a set of targets for their business which our service helps them meet. Therefore they are interested in value for money. This matters because it is the customer who specifies the service. ITIL assumes the customer talks to the user, but this is not always the case. Another difference is that the IT Department mostly deals with the user. When it all goes horribly wrong it is the user who phones the Help Desk not the customer.
I find distinction between user and customer helpful because it illuminates several of my previous development projects. As a consultant I am exhorted to regard all the staff who work for my clients as customers. This is a good thing. But it is useful to distinguish between the people who use the system and the people who will fund its development. Given free rein in the Requirement Gathering stage users will tend to ask for the moon on a stick. We need the customer to remind them of the harsh financial realities. Alternatively it is not unknown for customers to seek to use a development project to drive through business change, riding roughshod over their own users' requirements. This is a harder one to handle: they are paying for it. All the IT team can do is assert the need for the users to be trained in the new way of working as well the new system. I think now I could look at any requirement and determine whether it is a user's requirement or a customer's requirement.
These are political rather than technical issues and ITIL is not going to solve them. However, by identifying the issues and defining responsibilities for both technical and business roles it seems to provide a useful start. I'm sufficiently enthused to consider doing the ITIL foundation course.
Thursday, January 26, 2006
Oracle Patching Malarky
The last few months have really taken the shine off Oracle's reputation for building secure products. The latest spat between Duncan Harris (Oracle) and David Litchfield (Next-Generation Security Software) looks like shaping up into a fine old row.
Yesterday Pete Finnegan advised everybody using iAS to apply David Litchfield's workaround immediately. However,Robert Lemos owver at Security Focus reports Oracle's Harris as saying something along the lines that Litchfield's workaround is inadequate and "the configuration changes have at least five technical problems that could cause problems for some applications" (paraphrase by Security Focus not Harris's actual words). Harris recommends testing it before deploying to a production server. This is obviously sensible advice.
Whether Oracle going toe-to-toe with security researchers is a sensible strategy is slightly less obvious.
Yesterday Pete Finnegan advised everybody using iAS to apply David Litchfield's workaround immediately. However,Robert Lemos owver at Security Focus reports Oracle's Harris as saying something along the lines that Litchfield's workaround is inadequate and "the configuration changes have at least five technical problems that could cause problems for some applications" (paraphrase by Security Focus not Harris's actual words). Harris recommends testing it before deploying to a production server. This is obviously sensible advice.
Whether Oracle going toe-to-toe with security researchers is a sensible strategy is slightly less obvious.
Tuesday, January 24, 2006
Doom! Misery!! Despair!!!
Why is everybody in London so miserable? It's because of the constant bombardment of doomladen headlines from the Evening Standard.
Friday, January 13, 2006
Get your output in real time
Roger Cunha has posted a neat alternative to DBMS_OUTPUT on the OTN PL/SQL forum. It uses UTL_FILE to write to
Of course, screen output remains the Devil's Debugger.
stdout, which means you can get output from your PL/SQL procedures whilst they are still running. Obviously it's only for *nix platforms and you can only see the file from a SQL*Plus session on the database server. Still, it's a cute trick to keep in the toolbox.Of course, screen output remains the Devil's Debugger.
Wednesday, January 11, 2006
Buy Sun, Get 10.2 Free!
Sarcastic IT site El Reg has a report on the latest Sun and Oracle pricing move: buy an UltraSPARC server and get Oracle Enterprise Edition free. Well, we have to buy a year's worth of Oracle support but we'd all do that anyway, eh? The key thing about this is that the price is free regardless of how many processors the server has. Now that's the sort of licensing model everybody can understand.
Tuesday, December 20, 2005
Oracle Licencing IV: The Carnage Continues!
The Register in its delightfully sarcastic way breaks the news of the latest refinement to the Oracle licencing model. Basically,
This is not quite the revolutionary new pricing strategy Larry hinted at in his OOW2K5 keynote. Instead it further muddies the waters when it comes to costing a server installation without helping those customers for whom none of the current pricing models are suitable. Since you ask, yes, my current client is one such case. They have lots of database applications but almost no Oracle installations. Looking at the roll-out of my current project, the Oracle licensing costs are a substantial part of the problem. The per user model doesn't work with web-based systems. The per employee model doesn't work with a workforce of forty thousand most of whom will use the system maybe once a week. Which only leaves the complex, expensive and - yes - unfair per processor model.
Upgrade your server and pay more to Oracle for the privilege? Hmm, it's a toughie.
Sun's UltraSPARC T1 chip will be multiplied by a factor of .25...the dual-core x86 chips from Intel and AMD will be multiplied by a factor of .50, whilst "all other" multi-core servers - mostly the Unix crowd - will follow the .75 rule.Contrary to the their normal high journalistic standards El Reg don't provide a source for this story but the press release is on the Oracle Corporate site.
This is not quite the revolutionary new pricing strategy Larry hinted at in his OOW2K5 keynote. Instead it further muddies the waters when it comes to costing a server installation without helping those customers for whom none of the current pricing models are suitable. Since you ask, yes, my current client is one such case. They have lots of database applications but almost no Oracle installations. Looking at the roll-out of my current project, the Oracle licensing costs are a substantial part of the problem. The per user model doesn't work with web-based systems. The per employee model doesn't work with a workforce of forty thousand most of whom will use the system maybe once a week. Which only leaves the complex, expensive and - yes - unfair per processor model.
Upgrade your server and pay more to Oracle for the privilege? Hmm, it's a toughie.
Wednesday, December 07, 2005
Manageability: an Oracle fan gets illogical
Thanks to Doug Burns for pointing out this interesting article on the comparatitive manageability of MS SQL Server and Oracle by Buck Woody (crazy name, crazy guy!).
I was particularly struck by his assertion that SQL Server is easier to manage because it requires fewer steps to achieve any given task. Despite touting this as a scientific assessment Buck Woody fails to provide even the most basic information, such as which versions he's comparing. His "proof" of this statement amounts to an invitation to install MSSQL and see for ourselves.
On the other hand, there was a very interesting presentation at OOW2K5 called "Which Database Is Easier to Manage: Technical Case Study Comparing Oracle, SQL Server and IBM DB2" by Kevin Canady and Aaron Werman of Edison Group, Inc (not Oracle employees) who asserted the opposite. They presented a set of findings based precisely on counting the number of steps reuired to do common database tasks using the vendor's GUI management tool. Oracle have made a lot of progress in manageability in 10g and the Edison Group assessment is Oracle 10g is considerably easier to manage than MSSQL. They have published these findings as head-to-head slapdowns(Oracle 10g vs Microsoft and Oracle 10g vs DB2) but the three-way comparison was dead instructive. In some areas MSSQL is less manageable than DB2. Of course, Canady and Werman were comparing production versions, which meant MSSQL 2000; an old, old product but whose fault is that?
In the Q&A slot I questioned whether counting steps in the vendor's GUI is the appropriate metric for assessing manageability. Particularly for repetitive tasks a GUI is a lot less productive than even SQL Worksheet; besides, many experienced DBAs would have scripts to undertake common tasks. The presenters took the point, but it's the old case of measuring what is what measurable. We can count the number of steps it takes to achieve something in a wizard. It's a lot harder to compare how easy it is to achieve that same thing by the quickest possible means, because that might vary from DBA to DBA: my PL/SQL is quicker than my Python scripting but not as quick as your Perl scripting.
I was particularly struck by his assertion that SQL Server is easier to manage because it requires fewer steps to achieve any given task. Despite touting this as a scientific assessment Buck Woody fails to provide even the most basic information, such as which versions he's comparing. His "proof" of this statement amounts to an invitation to install MSSQL and see for ourselves.
On the other hand, there was a very interesting presentation at OOW2K5 called "Which Database Is Easier to Manage: Technical Case Study Comparing Oracle, SQL Server and IBM DB2" by Kevin Canady and Aaron Werman of Edison Group, Inc (not Oracle employees) who asserted the opposite. They presented a set of findings based precisely on counting the number of steps reuired to do common database tasks using the vendor's GUI management tool. Oracle have made a lot of progress in manageability in 10g and the Edison Group assessment is Oracle 10g is considerably easier to manage than MSSQL. They have published these findings as head-to-head slapdowns(Oracle 10g vs Microsoft and Oracle 10g vs DB2) but the three-way comparison was dead instructive. In some areas MSSQL is less manageable than DB2. Of course, Canady and Werman were comparing production versions, which meant MSSQL 2000; an old, old product but whose fault is that?
In the Q&A slot I questioned whether counting steps in the vendor's GUI is the appropriate metric for assessing manageability. Particularly for repetitive tasks a GUI is a lot less productive than even SQL Worksheet; besides, many experienced DBAs would have scripts to undertake common tasks. The presenters took the point, but it's the old case of measuring what is what measurable. We can count the number of steps it takes to achieve something in a wizard. It's a lot harder to compare how easy it is to achieve that same thing by the quickest possible means, because that might vary from DBA to DBA: my PL/SQL is quicker than my Python scripting but not as quick as your Perl scripting.
Monday, December 05, 2005
Aargh! HTMLDB is giving me JDeveloper flashbacks!
When I first started working with JDeveloper 3.0 in 2000 - we were not so much early as lonely adopters of BC4J (at least on this side of the pond) - the documentation was in a parlous state. We could get a first cut something working using the wizards, but as soon as we needed to go off piste we were lost. The in-built help text was rubbish; virtually nothing at all on BC4J, which had been introduced into 3.0 and had no link with any existing Oracle technology. All OTN offered were some tutorials and, later on, some How Tos; inevitably these never quite covered the areas that were troubling us the most.
Having spent a couple of days wrassling with HTMLDB I find I'm in the same predicament. Sure I can build straightforward Create/Edit/Delete pages quite nicely but now I want to build an integrated application and ... it's not easy. The document consists of tutorials and How Tos, which - you know what's coming - don't quite show me how to do what I want to do. The problem is the documentation doesn't seem to be written by people with a lot of experience in writing form-type applications. The two day tutorial doesn't even mention Master-Detail forms, which I would have thought is a fairly basic; even spreadsheets frequently have some header info.
Of course, the HTMLDB forum seems to have a lot more answered posts than I recall the JDeveloper forum got back in the days. OTN has quite a few sample applications, so perhaps I just need to install all of them until I find an example. And there's also blogs. So no doubt the information I need is out there, somewhere. It's just finding it that's going to be the issue. At least I hope so. I've been trying to build an LOV that has its query restricted by an existing value on the page; the resources on the interweb have offered me at least three different implementations , none of which worked the way I wanted.
I'm just stressing out here probably because I'm trying to be too clever too soon. I obviously need to stop being an active user and spend two days going through the tutorials, building applications I don't need, in order to get a handle on the basics. But with a heavy heart I'm afraid I have to tell my project manager to start cranking out the Excel again. It's not going to be as easy to implement his spreadsheet in HTMLDB as I thought. Blast.
Having spent a couple of days wrassling with HTMLDB I find I'm in the same predicament. Sure I can build straightforward Create/Edit/Delete pages quite nicely but now I want to build an integrated application and ... it's not easy. The document consists of tutorials and How Tos, which - you know what's coming - don't quite show me how to do what I want to do. The problem is the documentation doesn't seem to be written by people with a lot of experience in writing form-type applications. The two day tutorial doesn't even mention Master-Detail forms, which I would have thought is a fairly basic; even spreadsheets frequently have some header info.
Of course, the HTMLDB forum seems to have a lot more answered posts than I recall the JDeveloper forum got back in the days. OTN has quite a few sample applications, so perhaps I just need to install all of them until I find an example. And there's also blogs. So no doubt the information I need is out there, somewhere. It's just finding it that's going to be the issue. At least I hope so. I've been trying to build an LOV that has its query restricted by an existing value on the page; the resources on the interweb have offered me at least three different implementations , none of which worked the way I wanted.
I'm just stressing out here probably because I'm trying to be too clever too soon. I obviously need to stop being an active user and spend two days going through the tutorials, building applications I don't need, in order to get a handle on the basics. But with a heavy heart I'm afraid I have to tell my project manager to start cranking out the Excel again. It's not going to be as easy to implement his spreadsheet in HTMLDB as I thought. Blast.
Thursday, December 01, 2005
Neology Corner: Reshoring
I am introducing a new coinage into the wild: reshoring. This is what happens when a project that has been offshored turns out to have been wrongshored (heh); when everything's gone pearshaped and the project is brought back to be sorted out. Sample usage: "Have you heard about Project FFIENNES? They're reshoring it from Bangalore."
Was my coining of this phrase inspired by any specific project I have come across? You might think that, I couldn't possibly comment.
Was my coining of this phrase inspired by any specific project I have come across? You might think that, I couldn't possibly comment.
Wednesday, November 30, 2005
UKOUG Development Engineering SIG
Yesterday was my first real SIG on my own. My co-chair Guy Mortenson couldn't make it and the agenda was wholly organised by me. So I await the feedback with trepidation. The good news is that Guy and I were re-elected unopposed. Not that the UKOUG is a banana republic, but as Chair I had to preside over the election process...
I think the agenda was quite balanced: we had two items on new technology (HTMLDB and JDeveloper, two items on old technology (Forms) and I filled Guy's clowning role by delivering a short skit called "The worst week of my professional career".
The core audience for the DE SIG remains Forms developers; there's some people using Java but no-one using PHP or .NET and no interest in .NET. As an organiser I find the problem ith Forms is finding something new to say. Pretty much the only topics that are in the slightest bit fresh are highly technical investigations into the plumbing of Oracle application server. Kavitha Prakash from Oracle Support confirmed this to me afterwards; she said that pretty much all of the calls Support get are about app server configuration, deployment and debugging; there are almost no calls on coding problems. Gavin Leith of Sopra Newell and Budge gave an interesting talk on JDAPI, a Java tool for programatically tweaking Forms programs. This would have been useful to know about two years back when I was migrating a Forms client/server project to 9i web Forms, but to be frank I hope never to touch Forms again.
The talk that seemed to generate the most interest was given by David Richard of on HTMLDB. This was actually part 2 of a presentation that he started to give at the previous SIG in June. This time he actually managed to demonstrate his case study application and show some of the wiring under the hood. The application was a tactical solution for the NHS. This both proved the complexity of apps that we can build with HTMLDB and (I think) hinted at the limitations of the tool: A4C was a fantastic project to knock up in five weeks but it would be a nightmare to maintain. The problems of configuration management and code visibility in a metadata repository would get too pressing. Still, it inspired me. Last Friday my project manager showed me his latest spreadsheet for estimating and I told him we should be doing it soem other way; as I type this I am installing HTMLDB so that I can do it better.
Lastly Duncan Mills demonstrated his favourite new features in the new JDeveloper 10.3. I have to say the Java Server Faces implementation looks very good. My sole reservation is that it is so huge. Even Duncan had to look at his crib sheets to wrangle some piece of syntax. He's been living with this for most of the year: if he doesn't know it all, what hope is there for the rest of us? This is a serious point. Just to build a pop-up LOV required choosing a widget from a list of many dozens of options. Can there possibly be enough time to master these tools before the Java caravan moves on and there's a whole new set of APIs to learn?
I think the agenda was quite balanced: we had two items on new technology (HTMLDB and JDeveloper, two items on old technology (Forms) and I filled Guy's clowning role by delivering a short skit called "The worst week of my professional career".
The core audience for the DE SIG remains Forms developers; there's some people using Java but no-one using PHP or .NET and no interest in .NET. As an organiser I find the problem ith Forms is finding something new to say. Pretty much the only topics that are in the slightest bit fresh are highly technical investigations into the plumbing of Oracle application server. Kavitha Prakash from Oracle Support confirmed this to me afterwards; she said that pretty much all of the calls Support get are about app server configuration, deployment and debugging; there are almost no calls on coding problems. Gavin Leith of Sopra Newell and Budge gave an interesting talk on JDAPI, a Java tool for programatically tweaking Forms programs. This would have been useful to know about two years back when I was migrating a Forms client/server project to 9i web Forms, but to be frank I hope never to touch Forms again.
The talk that seemed to generate the most interest was given by David Richard of on HTMLDB. This was actually part 2 of a presentation that he started to give at the previous SIG in June. This time he actually managed to demonstrate his case study application and show some of the wiring under the hood. The application was a tactical solution for the NHS. This both proved the complexity of apps that we can build with HTMLDB and (I think) hinted at the limitations of the tool: A4C was a fantastic project to knock up in five weeks but it would be a nightmare to maintain. The problems of configuration management and code visibility in a metadata repository would get too pressing. Still, it inspired me. Last Friday my project manager showed me his latest spreadsheet for estimating and I told him we should be doing it soem other way; as I type this I am installing HTMLDB so that I can do it better.
Lastly Duncan Mills demonstrated his favourite new features in the new JDeveloper 10.3. I have to say the Java Server Faces implementation looks very good. My sole reservation is that it is so huge. Even Duncan had to look at his crib sheets to wrangle some piece of syntax. He's been living with this for most of the year: if he doesn't know it all, what hope is there for the rest of us? This is a serious point. Just to build a pop-up LOV required choosing a widget from a list of many dozens of options. Can there possibly be enough time to master these tools before the Java caravan moves on and there's a whole new set of APIs to learn?
Thursday, November 17, 2005
How To Be A Good Guru
In her engaging UKOUG presentation on being a newbie Lisa Dobson devoted a large chunk of time to Being A Good Newbie. That is, how to post questions on Oracle-related lists in the manner most likely to elicit a helpful response. We might summarise this advice as don't poke the tigers.
Lisa didn't have the OTN Forums on her list of, er, lists but we get a lot of newbies posting questions there. Partly it's just location, location, location: the Oracle site is the obvious first port of call when you need help1. Also, it is not a forum where the really big beasts - the Oak Table chaps - visit and the level of discussion hardly ever descends to hex dumps of block headers and other such esoterica. Hence newbies are perhaps less likely to feel embarassed about posting simple questions. This is obviously a good thing but it does impose a burden on us soi disant experts who volunteer to answer their questions. So, in homage to Eric Raymond's seminal guide to list etiquette for newbies I am modestly proposing some advice to would-be responders. And, yes, I know I still regularly break these guidelines.
Obvious really, but it's very easy to think you know something about the database that is no longer true, or maybe never was. For instance it has been a long time since anybody asserted that explicit cursors performed better than implicit ones, but people still proferred this advice long after it had ceased to be true. Be sure that if you do post something factually incorrect your peers will gleefully expose your bloomer to the wider world. It is better to post the right solution second than be first with a wrong one.
It is perfectly okay to research an answer. Indeed, one of the benefits of answering questions on the forums is that we discover stuff we didn't know. Questions coming from out of leftfield can tell teach us interesting (and sometimes even useful) things about how the database works.
Eric Raymond advises newbies to approach technical gurus in a supplicatory fashion. They are supposed to treat lists as resources of last resort, to kowtow before the collective wisdom and then present a detailed description of their problem, including complete specifics of environment and configuration, plus all the things they've already tried and all the manuals, whitepapers, etc they've already read, before humbly beseeching us for the merest crumb of assistance. Of course the ungrateful wretches never do this but we should still respond graciously.
It's not enough to dash off the correct answer. Consider whether its correctness will be obvious to the questioner. If not, try to explain why it's the correct answer. That way there's less chance that the questioner will be posting an almost identical question next week. Whenever possible include a link to the relevant part of the manual. Linking to a specfic heading in a chapter is better than just linking to the Table of Contents, but the manual is not always tagged the way we would like. Similarly, if you need more information, explain what else you need to know and why you need to know it. If you want (say) an explain plan and you suspect they don't know what that is, link to the manual.
The most effective form of learning is discovering things for ourselves. Teaching someone how to diagnose their own code (use
When answering a SQL related post it is always best to include a worked through example. Take a tip out of Tom Kyte's practice: use cut'n'paste from SQL*Plus to demonstrate that what you have asserted is in fact the case. This is a corollary of #1.
If, for reasons of time or environment (for instance you do not access to a database) it is acceptable to post untested code, provided:
Nothing exposes a poseur faster than a piece of code that doesn't even compile, so make sure you cover yourself.
Many people using the forums do not have English as their first language. Humour does not always travel well between cultures. Some questioners will not be expecting humour in a work context2. Furthermore, even amongst English speakers, humour can be difficult to spot without the non-verbal signifiers that accompany barroom banter. In particular irony is a tough one to pull off. Still, humour is a Good Thing and can liven up some dry reads so by all means be witty (if you can - lame jokes are, well, lame). It is helpful to use emoticons to signify that your preceding line was intended humourously, even if they are a debasement of the high standards of English literature. Jane Austen never posts on Oracle lists anyway :)
Oh, and sarcasm is right out (see #6).
Just like your mother told you.
There are no stupid questions only stupid answers. If someone has posted a question you don't think is worthy of an answer then don't bother answering. Remember: you're a volunteer, there is no compulsion, you are choosing to answer the question. So, the person is not wasting your time by asking a stupid question, you are wasting your own time by typing a stupid (angry, sarcastic or belittling) answer. By all means explain what is wrong with the question, show how it could have been phrased better or request more details. If some newbie has posted "my code doesn't work", ask them to describe the observed behaviour, to explain the difference from expected behaviour and to paste in the error message and callstack (if appropriate).
If somebody seems to be particularly unreasonable - posting an URGENT!!! question on Saturday and then whinging in follow-ups that nobody has responded - feel free to explain to them that you are a volunteer, this is a free service and there is no SLA. In fact, if they want an answer within a set timeframe they should stop being so darned cheap and spring for a support contract. Also, if I suspect the poster is a student looking for me to do their homework I always ask for a course credit (Not being American I have no idea what this means).
Fnord. This is just another way of demonstrating your superiority over the OP. Of course, like wit, you can use such stuff if you think your audience will get it. Alternatively, embed a link to the Jargon Dictionary, although this rather undermines the point of using abbreviations. LOL.
Telling some newbie "RTFM" is an act of pure arrogance. It just feeds the respondent's ego without helping that questioner learn anything, except maybe not to ask for help in the forum again. Barbara Boehmer taught me this one. Keep in mind that the Oracle FM is huge; there are dozens of books and the search engine fronting the online version ain't that great. At the very least, post "RTFM" and a link to a relevant part of TFM. That way at least they will know where to go the next time they need to find out something.
STFW is at least as bad and arguably worse. Googling for information about Oracle problems takes a lot of skill, not just in filtering queries but in knowing which results can be trusted. There are plenty of snakeoil merchants out there. (You may think you know who I am talking about but there are others too).
Other people will read your posts in the future, because they will come up in search results. Obviously if these people are using the OTN Forum search engine they'll probably be after an answer to some completely different question but Google also indexes the OTN Forums. So try to make your answers suitable for a wider audience. Besides, as Jakob Nielsen observed in another context, your future boss may be reading.
We were all newbies once. We are all still newbies in some dimension of the database, it's just too big for one mind to know everything. Even Tom Kyte occasionally farms out questions to Sean Dillon, Cameron O'Rourke et alia. So the next time you find yourself about to type a withering riposte to some "dumb" question just remember: one day, in some forum or other, you will ask a dumb question and an arrogant, big-brained geek is going to squash you like a fly.
1. Unfortunately this means people do assume their questions will be answered by Oracle employees and therefore there is some SLA we have to meet. In fact most OTN forums have little or no active Oracle participation (the HTMLDB, Developer and JDeveloper forums being honourable exceptions).
2. Here is my favourite example (the words are approximate, this is from memory). The questioner ask a generically "stupid" question, "How can I improve the performance of my database?". A wag responded (using the UBB [code] markup so it looked authentic):
The original posted replied, "I tried this command but it failed due to illegal option". Which is funny but also rather cruel.
Lisa didn't have the OTN Forums on her list of, er, lists but we get a lot of newbies posting questions there. Partly it's just location, location, location: the Oracle site is the obvious first port of call when you need help1. Also, it is not a forum where the really big beasts - the Oak Table chaps - visit and the level of discussion hardly ever descends to hex dumps of block headers and other such esoterica. Hence newbies are perhaps less likely to feel embarassed about posting simple questions. This is obviously a good thing but it does impose a burden on us soi disant experts who volunteer to answer their questions. So, in homage to Eric Raymond's seminal guide to list etiquette for newbies I am modestly proposing some advice to would-be responders. And, yes, I know I still regularly break these guidelines.
How to Answer Questions the Smart Way
#1. Don't answer questions to which you don't know the answer
Obvious really, but it's very easy to think you know something about the database that is no longer true, or maybe never was. For instance it has been a long time since anybody asserted that explicit cursors performed better than implicit ones, but people still proferred this advice long after it had ceased to be true. Be sure that if you do post something factually incorrect your peers will gleefully expose your bloomer to the wider world. It is better to post the right solution second than be first with a wrong one.
It is perfectly okay to research an answer. Indeed, one of the benefits of answering questions on the forums is that we discover stuff we didn't know. Questions coming from out of leftfield can tell teach us interesting (and sometimes even useful) things about how the database works.
#2. Explain yourself
Eric Raymond advises newbies to approach technical gurus in a supplicatory fashion. They are supposed to treat lists as resources of last resort, to kowtow before the collective wisdom and then present a detailed description of their problem, including complete specifics of environment and configuration, plus all the things they've already tried and all the manuals, whitepapers, etc they've already read, before humbly beseeching us for the merest crumb of assistance. Of course the ungrateful wretches never do this but we should still respond graciously.
It's not enough to dash off the correct answer. Consider whether its correctness will be obvious to the questioner. If not, try to explain why it's the correct answer. That way there's less chance that the questioner will be posting an almost identical question next week. Whenever possible include a link to the relevant part of the manual. Linking to a specfic heading in a chapter is better than just linking to the Table of Contents, but the manual is not always tagged the way we would like. Similarly, if you need more information, explain what else you need to know and why you need to know it. If you want (say) an explain plan and you suspect they don't know what that is, link to the manual.
#3. Give as little assistance as necessary
The most effective form of learning is discovering things for ourselves. Teaching someone how to diagnose their own code (use
SQL> SHOW ERROR, look up the error, check the syntax in the online documentation) is better than just rewriting their code for them. Not least because in rewriting the code we are likely to break some business rule we do not understand. #4. Show your workings
When answering a SQL related post it is always best to include a worked through example. Take a tip out of Tom Kyte's practice: use cut'n'paste from SQL*Plus to demonstrate that what you have asserted is in fact the case. This is a corollary of #1.
If, for reasons of time or environment (for instance you do not access to a database) it is acceptable to post untested code, provided:
- you indicate it is such;
- you think an untested code sample is more helpful than no code sample at all;
- you think it is probably correct. Heh.
Nothing exposes a poseur faster than a piece of code that doesn't even compile, so make sure you cover yourself.
#5. Use humour judiciously
Many people using the forums do not have English as their first language. Humour does not always travel well between cultures. Some questioners will not be expecting humour in a work context2. Furthermore, even amongst English speakers, humour can be difficult to spot without the non-verbal signifiers that accompany barroom banter. In particular irony is a tough one to pull off. Still, humour is a Good Thing and can liven up some dry reads so by all means be witty (if you can - lame jokes are, well, lame). It is helpful to use emoticons to signify that your preceding line was intended humourously, even if they are a debasement of the high standards of English literature. Jane Austen never posts on Oracle lists anyway :)
Oh, and sarcasm is right out (see #6).
#6. If you can't say something nice don't say anything at all
Just like your mother told you.
There are no stupid questions only stupid answers. If someone has posted a question you don't think is worthy of an answer then don't bother answering. Remember: you're a volunteer, there is no compulsion, you are choosing to answer the question. So, the person is not wasting your time by asking a stupid question, you are wasting your own time by typing a stupid (angry, sarcastic or belittling) answer. By all means explain what is wrong with the question, show how it could have been phrased better or request more details. If some newbie has posted "my code doesn't work", ask them to describe the observed behaviour, to explain the difference from expected behaviour and to paste in the error message and callstack (if appropriate).
If somebody seems to be particularly unreasonable - posting an URGENT!!! question on Saturday and then whinging in follow-ups that nobody has responded - feel free to explain to them that you are a volunteer, this is a free service and there is no SLA. In fact, if they want an answer within a set timeframe they should stop being so darned cheap and spring for a support contract. Also, if I suspect the poster is a student looking for me to do their homework I always ask for a course credit (Not being American I have no idea what this means).
#7. Avoid jargon, baffling acronyms and idiolects
Fnord. This is just another way of demonstrating your superiority over the OP. Of course, like wit, you can use such stuff if you think your audience will get it. Alternatively, embed a link to the Jargon Dictionary, although this rather undermines the point of using abbreviations. LOL.
#8. Never never never just respond with RTFM. Not ever.
Telling some newbie "RTFM" is an act of pure arrogance. It just feeds the respondent's ego without helping that questioner learn anything, except maybe not to ask for help in the forum again. Barbara Boehmer taught me this one. Keep in mind that the Oracle FM is huge; there are dozens of books and the search engine fronting the online version ain't that great. At the very least, post "RTFM" and a link to a relevant part of TFM. That way at least they will know where to go the next time they need to find out something.
STFW is at least as bad and arguably worse. Googling for information about Oracle problems takes a lot of skill, not just in filtering queries but in knowing which results can be trusted. There are plenty of snakeoil merchants out there. (You may think you know who I am talking about but there are others too).
#9. Meditate on eternity
Other people will read your posts in the future, because they will come up in search results. Obviously if these people are using the OTN Forum search engine they'll probably be after an answer to some completely different question but Google also indexes the OTN Forums. So try to make your answers suitable for a wider audience. Besides, as Jakob Nielsen observed in another context, your future boss may be reading.
#10. Keep your newbie mind
We were all newbies once. We are all still newbies in some dimension of the database, it's just too big for one mind to know everything. Even Tom Kyte occasionally farms out questions to Sean Dillon, Cameron O'Rourke et alia. So the next time you find yourself about to type a withering riposte to some "dumb" question just remember: one day, in some forum or other, you will ask a dumb question and an arrogant, big-brained geek is going to squash you like a fly.
ALTER SYSTEM SET GO_FASTER='TRUE'
/
The original posted replied, "I tried this command but it failed due to illegal option". Which is funny but also rather cruel.
Tuesday, November 15, 2005
Another rainy day in this twenty-first century metropolis
Yesterday I decided to do a bit of work at home, as I wanted to do some data modelling (documentation, documenation, doncha just luv it?) and, for some tedious reason, I have Visio Professional on my home laptop but only Standard on my work machine.
First I decided it was finally time I activated my licence. Not having internet access at home meant having to do it over the phone. I can see now why the web method is recommended; typing in seven sets of six digits twice, once on the phone keypad the second on the computer with the added fun of pressing the phone hash key after every set is not a lot of fun. Particularly when you have a four-year-old boy registering their displeasure at you being on the phone by playing a toy synthesizer in the most unmusical fashion possible. Because I'm a masochist I registered my Office licence at the same time. Of course, MS don't seem to think people will register two products so I have to hang-up and redial.
Then I discovered that Visio doesn't support cut'n'paste of multiple lines into the Entity Definition column sheet (unless there's some trick I need to discover). After a while the repetition got to me so I decided I would be better off trying reverse engineering. Only I didn't have the database schema on my home laptop (having cleared 9i to install XE), so it's into the office after all.
On the way I decide to go to the parcel office to collect my latest consignment from Amazon. After all, I have Tooting Bec tube station at the end of my road and it's only one stop. And they are work-related books. Except that the Nortyhern Line is undergoing emergency engineering so there are no trains going south. Because it's be raining the traffic is blocked solid so I decide to walk instead of waiting for a bus. This is a sound decision: in the fifteen minutes it takes me to walk to the parcel office I overtake about half-a-dozen buses; not one overtakes me back. I casually note that most of the traffic consists of single people sitting in cars, leavened with the occasional van.
At this rate I'm starting to think that the post office will have lost my parcel but no, they have it and it contains the correct books. Hurrah! Now all I have to do is get into work, which is slow but at least I get there.
On the way home in the evening the service is suspended because of a security alert aty Balham. Naturally London's superb bus service is available to take up the slack. As if. Very long wait, very crowded buses, very slow journey.
When I get home I install the schemas into my XE database. At least that works. I fire up Visio, click into reverse engineering mode and it shows me all the objects in my XE database. But when I tried to actually import a table it fails with fatal error. No clues but I'm guessing some kind of driver issue; I'll give it another go this evening.
But wasn't the twenty-first century supposed to be different? Where is my helicopter for commuting to the office? Where is my holiday on the moon? Where is the technology that works properly, first time, all the time?
First I decided it was finally time I activated my licence. Not having internet access at home meant having to do it over the phone. I can see now why the web method is recommended; typing in seven sets of six digits twice, once on the phone keypad the second on the computer with the added fun of pressing the phone hash key after every set is not a lot of fun. Particularly when you have a four-year-old boy registering their displeasure at you being on the phone by playing a toy synthesizer in the most unmusical fashion possible. Because I'm a masochist I registered my Office licence at the same time. Of course, MS don't seem to think people will register two products so I have to hang-up and redial.
Then I discovered that Visio doesn't support cut'n'paste of multiple lines into the Entity Definition column sheet (unless there's some trick I need to discover). After a while the repetition got to me so I decided I would be better off trying reverse engineering. Only I didn't have the database schema on my home laptop (having cleared 9i to install XE), so it's into the office after all.
On the way I decide to go to the parcel office to collect my latest consignment from Amazon. After all, I have Tooting Bec tube station at the end of my road and it's only one stop. And they are work-related books. Except that the Nortyhern Line is undergoing emergency engineering so there are no trains going south. Because it's be raining the traffic is blocked solid so I decide to walk instead of waiting for a bus. This is a sound decision: in the fifteen minutes it takes me to walk to the parcel office I overtake about half-a-dozen buses; not one overtakes me back. I casually note that most of the traffic consists of single people sitting in cars, leavened with the occasional van.
At this rate I'm starting to think that the post office will have lost my parcel but no, they have it and it contains the correct books. Hurrah! Now all I have to do is get into work, which is slow but at least I get there.
On the way home in the evening the service is suspended because of a security alert aty Balham. Naturally London's superb bus service is available to take up the slack. As if. Very long wait, very crowded buses, very slow journey.
When I get home I install the schemas into my XE database. At least that works. I fire up Visio, click into reverse engineering mode and it shows me all the objects in my XE database. But when I tried to actually import a table it fails with fatal error. No clues but I'm guessing some kind of driver issue; I'll give it another go this evening.
But wasn't the twenty-first century supposed to be different? Where is my helicopter for commuting to the office? Where is my holiday on the moon? Where is the technology that works properly, first time, all the time?
Friday, November 11, 2005
Oracle Express Edition: Good things come to those who wait
I decided to give XE one last try on Windows before turning to VM Ware. So I uninstalled XE using the MSI program. This did a stand-up job of tidying up everthing which was a relief as it's not an experience I've always had with de-installing Oracle before.
Then I set about tweaking my configuration. About the only problem on the known issues list that I didn't have was an account name with spaces. Here's what I did do:
(1) Control Panel > System > Advanced > Environment
(2) Stop the Oracle 9i services
(3) Control Panel > Region and Language, change preference to English (US)
(4) Reboot
Then I re-ran the installer and it worked! I now have a nice 10gXE on my work machine. Just in time for the weekend, my wife will be pleased. And my 9i installation isn' t broken either so I'm a happy bunny once more.
Then I set about tweaking my configuration. About the only problem on the known issues list that I didn't have was an account name with spaces. Here's what I did do:
(1) Control Panel > System > Advanced > Environment
- Remove ActiveState Perl from the PATH variable
- Point TEMP and TMP variables at C:\temp instead of the default
- Remove the ORACLE_HOME variable (not sure I have this, I think it might break an Ant script)
(2) Stop the Oracle 9i services
(3) Control Panel > Region and Language, change preference to English (US)
(4) Reboot
Then I re-ran the installer and it worked! I now have a nice 10gXE on my work machine. Just in time for the weekend, my wife will be pleased. And my 9i installation isn' t broken either so I'm a happy bunny once more.
Thursday, November 10, 2005
Oracle Express Edition: Security Patching Policy
Earlier this month Pete Finnegan wondered whether we will get security patches for XE. Mark Townsend has now posted on the OTN XE Forum that Oracle intends to release fully patched versions of XE. Users will just install the new XE software over their existing install. This approach is deemed to be "easier than patching".
Given the target demographics of XE this is probably true but it will be interesting to see how this works in practice. This will presumably create additional overhead for ISVs who wish to customise the XE download (for instance by replacing the default seed DB).
Still, at least it looks as though we will avoid Pete's nightmare version of thousands on unpatched Oracle databases taking over the web.
Given the target demographics of XE this is probably true but it will be interesting to see how this works in practice. This will presumably create additional overhead for ISVs who wish to customise the XE download (for instance by replacing the default seed DB).
Still, at least it looks as though we will avoid Pete's nightmare version of thousands on unpatched Oracle databases taking over the web.
Wikipedia: the dumbness of crowds
A posting on the XE forum observes that "By far the best known Wiki is Wikipedia". Almost certainly true but how very depressing.
The problem with the Wikipedia is that entries are of highly variable reliability and quantity. Due to the sort of people who contibute to Wikipedia, the entries on (say) Star Wars or the Klingon language are broader, deeper, more detailed and accurate than (say) the entries on relational database theory. In practice most of the entries on computing and related disciplines are reasonably reliable, because there are anough web users with relevant knowledge to correct obvious errors in their own fields (if they can be bothered).
Even so, unless you already know a fair bit about the topic it can be hard to determine whether the entry has been written by a leading expert or some passing nimrod. And when it gets to things like Latvian mythology, who knows? Is this entry on Tanis Diena, the sacred pig holiday a spoof? How would you find out, except by going to some authoritative (but less exciting) source such as the Encyclopedia Britannica in your local library? Even the Wikipedia founder says that too many entries in the Wikipedia "are nearly unreadable crap".
I am reminded of the chapter in "Surely you're joking, Mr Feynman" when Richard Feynman was reviewing physics textbooks for schools.
Of course, there are some very good uses for the wiki technology. A prime example is the Extreme Programming Roadmap. This site is hosted by Ward Cunningham, who invented the Wiki concept as well as being one of the founders of XP along with Kent Beck. This wiki works because it is a site for sharing and exploring ideas. It is a conversation, an exchange of opinions, not a source of facts. It is precisely not an encyclopedia of Extreme Programming (eXPedia? or has somebody already got that?).
Wikipedia is predicated on the assumption that knowledge works like some kind of pachinko machine: the channel where the most balls go must be the truth. But actually all you end up with is a lot of balls.
The problem with the Wikipedia is that entries are of highly variable reliability and quantity. Due to the sort of people who contibute to Wikipedia, the entries on (say) Star Wars or the Klingon language are broader, deeper, more detailed and accurate than (say) the entries on relational database theory. In practice most of the entries on computing and related disciplines are reasonably reliable, because there are anough web users with relevant knowledge to correct obvious errors in their own fields (if they can be bothered).
Even so, unless you already know a fair bit about the topic it can be hard to determine whether the entry has been written by a leading expert or some passing nimrod. And when it gets to things like Latvian mythology, who knows? Is this entry on Tanis Diena, the sacred pig holiday a spoof? How would you find out, except by going to some authoritative (but less exciting) source such as the Encyclopedia Britannica in your local library? Even the Wikipedia founder says that too many entries in the Wikipedia "are nearly unreadable crap".
I am reminded of the chapter in "Surely you're joking, Mr Feynman" when Richard Feynman was reviewing physics textbooks for schools.
The man who replaced me on the commission said, "That book [that I thought was bad] was approved by sixty-five engineers at the Such-and-such Aircraft Company." I didn't doubt that the company had some pretty good engineers, but to take sixty-five engineers is to take a wide range of ability - and to necessarily include some pretty poor guys...It would have been far better for the company to decide who their better engineers were, and have them look at the book. I couldn't claim I was smarter than sixty-five other guys - but the average of sixty-five other guys, certainly!
Of course, there are some very good uses for the wiki technology. A prime example is the Extreme Programming Roadmap. This site is hosted by Ward Cunningham, who invented the Wiki concept as well as being one of the founders of XP along with Kent Beck. This wiki works because it is a site for sharing and exploring ideas. It is a conversation, an exchange of opinions, not a source of facts. It is precisely not an encyclopedia of Extreme Programming (eXPedia? or has somebody already got that?).
Wikipedia is predicated on the assumption that knowledge works like some kind of pachinko machine: the channel where the most balls go must be the truth. But actually all you end up with is a lot of balls.
Tuesday, November 08, 2005
Oracle Express Edition: Third Strike
Mike Townsend on the XE forum said that the ORA-12557 error indicated an Oracle Home variable pointing at the wrong set of DLLs. After some bootless tweaking of registry settings (actually wuite a lot of booting was involved, I think fruitless is the word I'm after) I found that I had an ORACLE_HOME in my environment variables.
So I set that to the XE directory. And lo! the ORA-12557 error went away and the database build progressed a bit further. Not far enough to actually build the XE database you understand, but at least it was connecting to the instance. Unfortunately changing that variable to point to XE home breaks my 9i installation very badly. As I need 9i for my work right now and I don't need XE I think that just about wraps up my XE adventures for the time being.
In an unrelated item I note that the Register has a report on a survey finding that software problems cause people to swear, drink and throw things. Well I never! The things these surveys reveal!
So I set that to the XE directory. And lo! the ORA-12557 error went away and the database build progressed a bit further. Not far enough to actually build the XE database you understand, but at least it was connecting to the instance. Unfortunately changing that variable to point to XE home breaks my 9i installation very badly. As I need 9i for my work right now and I don't need XE I think that just about wraps up my XE adventures for the time being.
In an unrelated item I note that the Register has a report on a survey finding that software problems cause people to swear, drink and throw things. Well I never! The things these surveys reveal!
Oracle Express Edition: two strikes, the pitcher steps up to the plate...
The world is divided into two groups of people: those for whom installing Oracle Express edition has been a piece of cake and those for whom it's been a flipping nightmare. Unfortunately I find myself in the latter group.
The first problem was the install spinning when it was trying to create the XE services. CPU meter up to 100% for as long as you like. This turned out to be an artefact of having NLS_LANG set to UK English. All that was required was settting to
Having got past that the second problem rears its ugly head. I now have an instance but no data files. Each time the scripts tried to connect to the database the failed with
Before you Linuxen start smirking this is not particularly a Windows problem: I was able to install XE on my home laptop first time. My home machine is lower spec but same operating system so it's something about the specific configuration of my work machine that's giving me grief. I am only persevering with this because if I ever need XE, I will need it on my work machine.
Although I must admit I am starting to get very tired with the process: it requires several manual steps - editing the registry, renaming files, two reboots - to clear down XE prior to re-installing. However, I have just discovered that if I re-run the MSI against an untouched install it asks if I want to uninstall XE. I wish I known this earlier: the Installation guide talks about using Add/Remove Programs in the Control Panel but that option only appears once the installation has passed the Services point. Of course, the MSI uninstall option may also only be triggered if the prior install got to that point. I'm afraid I lack the strength to de- and re-install just to find out.
So what have I learnt so far? Not a lot. I've spent hours, literally hours, trying to install XE on my work machine with no success. I certainly haven't had time to build an app on my home machine. I do know two things. One is that the MSDE team is not yet quaking in their boots. The other is that I don't think this blog is likely to appear in the 10XE User Experiences any time soon.
The first problem was the install spinning when it was trying to create the XE services. CPU meter up to 100% for as long as you like. This turned out to be an artefact of having NLS_LANG set to UK English. All that was required was settting to
American_America.WE8ISO8859P1. Ooops! We might have thought that offshoring so much development and support work would have alerted Oracle to globalisation but apparently not. Having got past that the second problem rears its ugly head. I now have an instance but no data files. Each time the scripts tried to connect to the database the failed with
ORA-12557: TNS:protocol adapter not loadable. This is a rara avis; the only note on Metalink relates to Grid controllers, which doesn't seem to fit the case here, and Google likewise draws a blank. Let's hope Mike Townsend comes up with something.Before you Linuxen start smirking this is not particularly a Windows problem: I was able to install XE on my home laptop first time. My home machine is lower spec but same operating system so it's something about the specific configuration of my work machine that's giving me grief. I am only persevering with this because if I ever need XE, I will need it on my work machine.
Although I must admit I am starting to get very tired with the process: it requires several manual steps - editing the registry, renaming files, two reboots - to clear down XE prior to re-installing. However, I have just discovered that if I re-run the MSI against an untouched install it asks if I want to uninstall XE. I wish I known this earlier: the Installation guide talks about using Add/Remove Programs in the Control Panel but that option only appears once the installation has passed the Services point. Of course, the MSI uninstall option may also only be triggered if the prior install got to that point. I'm afraid I lack the strength to de- and re-install just to find out.
So what have I learnt so far? Not a lot. I've spent hours, literally hours, trying to install XE on my work machine with no success. I certainly haven't had time to build an app on my home machine. I do know two things. One is that the MSDE team is not yet quaking in their boots. The other is that I don't think this blog is likely to appear in the 10XE User Experiences any time soon.
Thursday, November 03, 2005
UKOUG Annual Conference: A retrospective
Walking along the canals of Birmingham on Sunday I was struck by how not like San Francisco it was. Not just the colour of the sky but the whole attitude of the place. The canals of Birmingham have been reclaimed from their industrial past and re-branded as a tourist attraction. What this actually means is a lot of canal side bars with aspirational names like Panama, Ipanema and Santa Fe (not particularly famous for it's canals). One ristorante has an Venetian gondola moored outside. Meanwhile dead leaves float in the canal and people scurry past in their windcheaters and overcoats. Still, you can't get a decent pint of IPA in St Mark's Square so it cuts both ways.
Another difference between Open World and UKOUG, as Mark Rittman has also observed, is that us UKOUG committee members were there to do a job, so blogging in real time was difficult. Here are my personal highlights from the annual conference.
An irresistible title and a first class presentation. It wasn't just cynical laughing at the dumb things people do, it also gave tips on how to turn those dumb things to your professional advantage. Martin was full of useful insights, advice and aphorisms. "Disaster tolerant software isn't". Compressed time scales "move us into our stretch zones and develop our resilience skills". Interestingly enough the presentation turned, briefly, into a lecture on the value of certain RAD/Agile practices, specifically, developing systems in discrete chunks that take no longer than three months to deliver. As Martin said:
This is the situation he calls the Knowledge Curtain.
It wasn't the SQL that fazed me it was the calculus. I'm a historian, get me out of here! Lex delivered a through exploration of how
I always thought that the reason the relational theory crowd didn't like
There's never a good time to hear the skirl of the bagpipes but 9.00am is really bad. (My father was Scottish so I'm allowed to say this.) At last year's conference Mogens presented without shoes. This year he presented without trousers1. It might be a good idea to skip next year's presentation ;)
In 2000 when I was working on a project using BC4J with JDeveloper3.0 we had real problems getting any kind of assistance from Oracle Support or finding relevant How To documentation. Of course, in those days Java was still supported by the Server Tech guys because Support thought it was only used in the database. Five years on, ADF is here, Java is primarily used in the J2EE web environment and the quality of support does not seem to have improved much.
As Tom observed at the start of his presentation this has already been widely blogged even before the launch but he still managed to generate a buzz. Obviously giving away a free database was (with hindsight) almost inevitable in the current database market. People do like free as a price. I think the interesting thing about Oracle XE is its potential as a MySQL killer. With Oracle XE you are going to get a reliable database with stored procedures, triggers and relational integrity. Furthermore, you've got an easy migration path if you exceed the (generous) limits or need certain enterprise features. Probably the only people who aren't going to choose XE are zealots in the Open Source and the Microsoft communities. Who'd have thought they'd end up on the same side? So, taken with the purchase of InnoDB, I think Oracle really has MySQL AB by the short and curlies.
The only thing Oracle can do to muck this up is not issue patches, at least for show stopping bugs and security holes. There's no point in encouraging thousands of new people to join the Oracle community if means exposing them to Oracle-focused worms. Whilst stealing Microsoft's shtick on helping developers and learners Oracle do not also want to give themselves Redmond's reputation on security issues.
Actually this is not a difficult call as catering for over two thousand people over short periods of time rarely generates fine cuisine. Still, thanks to Mark for organising it and thanks to James Haslam of the UKOUG for sponsoring it. It was nice to be able to put faces to some of the blogs I read. I think next time we should wear badges with the name of our blogs. By the way, what is it with Chinese restaurants? The set menus are always ridiculously over-specified. The third course had far too many dishes. As the sole troublesome veggie I ended up with three dishes all to myself plus rice, on top of the previous two courses. Thank goodness I had been unable to fill myself up on prawn crackers beforehand.
1. To be fair Mogens did wear a kilt.
Another difference between Open World and UKOUG, as Mark Rittman has also observed, is that us UKOUG committee members were there to do a job, so blogging in real time was difficult. Here are my personal highlights from the annual conference.
Best Presentation: Developing your career through system disasters by Martin Widlake
An irresistible title and a first class presentation. It wasn't just cynical laughing at the dumb things people do, it also gave tips on how to turn those dumb things to your professional advantage. Martin was full of useful insights, advice and aphorisms. "Disaster tolerant software isn't". Compressed time scales "move us into our stretch zones and develop our resilience skills". Interestingly enough the presentation turned, briefly, into a lecture on the value of certain RAD/Agile practices, specifically, developing systems in discrete chunks that take no longer than three months to deliver. As Martin said:
You don't understand your users. That's okay because they don't understand you either.
This is the situation he calls the Knowledge Curtain.
Most Brain Stretching Presentation: Null values: Nothing to worry about by Lex de Haan
It wasn't the SQL that fazed me it was the calculus. I'm a historian, get me out of here! Lex delivered a through exploration of how
NULL works in SQL and the relationship between the empty set and NULL. The key fact is that a NULL in a arithmetic expression returns NULL whereas group functions ignore NULL. He gave us some good hints for writing queries to handle NULL without getting the wrong results. Definitely a presentation to download and work through the examples. Most Interesting Factoid: How To Handle Missing Information Without Using Nulls by Hugh Darwen
I always thought that the reason the relational theory crowd didn't like
NULL was because they objected to the absence of meaning. Hugh said that if SQL had implemented NULL=NULL that would have been okay. Well, okay-ish. The absence of meaning would still be a problem but it's the additional work necessary to handle NULL that really rankles (I supect Fabian Pascal may take a different stance). Anyway, Hugh started his presentation with the observation that everybody in the audience had a vested interested in the badness of SQL and ended it with an exhortation to us to pester Oracle for better SQL. Guilty as charged, but I'm afraid I'm more likely to pester Oracle for a more complete Type implementation than I am to ask for changes to the SQL standard. Although I do think being able to SELECT * EXCEPT comm FROM emp; would be nice to have.Worst Start To A Presentation: Performance from a Different Perspective by Mogens Nørgaard
There's never a good time to hear the skirl of the bagpipes but 9.00am is really bad. (My father was Scottish so I'm allowed to say this.) At last year's conference Mogens presented without shoes. This year he presented without trousers1. It might be a good idea to skip next year's presentation ;)
Most Depressing Fact: Does ADF live up to the hype? by Paul Jeynes
In 2000 when I was working on a project using BC4J with JDeveloper3.0 we had real problems getting any kind of assistance from Oracle Support or finding relevant How To documentation. Of course, in those days Java was still supported by the Server Tech guys because Support thought it was only used in the database. Five years on, ADF is here, Java is primarily used in the J2EE web environment and the quality of support does not seem to have improved much.
Most Intriguing Business Move: The Launch of Oracle Express Edition by Tom Kyte
As Tom observed at the start of his presentation this has already been widely blogged even before the launch but he still managed to generate a buzz. Obviously giving away a free database was (with hindsight) almost inevitable in the current database market. People do like free as a price. I think the interesting thing about Oracle XE is its potential as a MySQL killer. With Oracle XE you are going to get a reliable database with stored procedures, triggers and relational integrity. Furthermore, you've got an easy migration path if you exceed the (generous) limits or need certain enterprise features. Probably the only people who aren't going to choose XE are zealots in the Open Source and the Microsoft communities. Who'd have thought they'd end up on the same side? So, taken with the purchase of InnoDB, I think Oracle really has MySQL AB by the short and curlies.
The only thing Oracle can do to muck this up is not issue patches, at least for show stopping bugs and security holes. There's no point in encouraging thousands of new people to join the Oracle community if means exposing them to Oracle-focused worms. Whilst stealing Microsoft's shtick on helping developers and learners Oracle do not also want to give themselves Redmond's reputation on security issues.
Best Meal: The Oracle Blogger's Dinner by Mark Rittman
Actually this is not a difficult call as catering for over two thousand people over short periods of time rarely generates fine cuisine. Still, thanks to Mark for organising it and thanks to James Haslam of the UKOUG for sponsoring it. It was nice to be able to put faces to some of the blogs I read. I think next time we should wear badges with the name of our blogs. By the way, what is it with Chinese restaurants? The set menus are always ridiculously over-specified. The third course had far too many dishes. As the sole troublesome veggie I ended up with three dishes all to myself plus rice, on top of the previous two courses. Thank goodness I had been unable to fill myself up on prawn crackers beforehand.
Subscribe to:
Posts (Atom)