Technology Tales

Adventures in consumer and enterprise technology

SQL Developer Java error

6th June 2007

Last night, I tried starting up Oracle's SQL Developer so that I could add a listing of my hillwalking blog posts to my website's site map with a spot of PHP scripting. However, all that I got was something like that which you see below:

Java Error returned on launching Oracle SQL Developer

I must confess that this one threw me. The solution, though challenging to find (they often are, even with the abilities of Google) was to use a batch file called sqldeveloper.bat that you can find in the [installation directory]\sqldeveloper\bin directory. It does start the thing when all else seems to fail and got me up and running again. I did get that blog post listing added to the site map after all; Having more visibility of the MySQL tables was a definite plus point.

Windows Sysinternals

5th June 2007

In an earlier post, I wondered about command line management of Windows processes. Well, I have since located the sort of tools that I was after as part of the Windows Sysinternals toolkit. It began as an independent endeavour and continued as such until Microsoft acquired them in 2006. You can find out more about the process utilities here, and the whole Sysinternals suite can be downloaded in a single package.

Using alternative editors for SAS programming

5th June 2007

When it comes to writing SAS programs, most use the tools that SAS gives us, be it Enterprise Guide, the Enhanced Editor or the Program Editor. While Enterprise Guide can work with UNIX SAS as the processing engine, it is very much a Windows tool and the Enhanced Editor functionality is provided through Windows-only programming (ActiveX, I seem to recall). However, that means that creature comforts are left behind you if you turn to writing SAS code using UNIX SAS; you have only got the good old-fashioned Program Editor supplied by SAS itself. However, there is a trick that you can use to make life more comfortable: SAS does allow you to submit the contents of your paste buffer (or clipboard) using the command SUBMIT BUFFER=DEFAULT and this can be assigned to a function key for ease of use (I use the same key to clear the log and output screens at the same time). In the Windows, you may need to explicitly copy the code to do this but, in UNIX, merely highlighting a section of code with an editor like NEdit will do the trick and, given that NEdit is reasonably pleasant tool for code cutting (the ability to define its macros with a spot of scripting is a definite plus point), this makes life more comfortable again.

Selecting SAS code in the Program Editor on UNIX

5th June 2007

Here's a possible bugbear with programming using the SAS Display Manager in UNIX, selecting sections of code and running them. In the installations that I have encountered, the mouse selection is not retained, so the code selection cannot be run. There is a fix for this that is not the most obvious. Going to the Preferences dialogue box (Tools > Options > Preferences... from the menu bar) and selecting the Editing tab brings up the screen below:

SAS Editing Preferences on UNIX

Ensuring that "Automatically store selection" is switched off, as shown above, will allow one to select and submit sections of code from a SAS program like what is normal practice with Windows SAS. Though it isn't an obvious solution, it does the trick for me.

Photo gallery trouble

4th June 2007

The recent woes at Zooomr (mustn't forget that it is spelt with three O's...), have prompted me to ponder photo galleries. My own is a self-hosted affair, with Perl doing the honours of reading and processing data stored in an XML file. It may seem an unsophisticated system, but it has worked well and, apart from the matter of server administration, I am in full control. Yes, there is a development and maintenance overhead, but I enjoy programming and scripting anyway; I just have to find the time for it. If this is not your idea of fun, then using a service like Flickr, Zooomr or Photobucket is attractive so long as things don't go awry as they have for Zooomr and all the bad publicity and user frustration can't have done Zooomr's future prospects any good at all.

Adobe Digital Editions

3rd June 2007

Adobe Digital Editions

For now, I still have my eye on Photoshop CS3, and it was with interest that I noticed that Peachpit Press had published a book, entitled Adobe Photoshop CS3: Up to Speed, exploring the changes made from CS2. The plot thickened when I found that I could download as an e-book.

However, it was then that I discovered a major change made to Adobe Reader for its eighth version: it no longer reads what Adobe titles Digital Editions. For that, you need either the previous version or to download the beta version of Adobe Digital Editions (yes, it does rather appear that they couldn't tie up the final release dates), which appears to be a Flash front end to Reader.

As it happens, I am not so convinced by this development: the thing is in essence coloured black and the mouse pointer disappears a lot of the time. Having menus and navigational screen furniture constantly disappearing and reappearing doesn't do much to enhance the reputations of Adobe's user interface designers. While it wouldn't be too bad if you could customise the colours, you can't; a light grey has to be better than black. Its taking over the whole screen when maximised is another irritation, especially when it covers up your task bar and the Alt+Tab shortcut is needed to leave it without having to hit the minimise button.

Yes, it does do the job, but I still find myself hankering after an Adobe Reader style interface and I have no idea why this has been foisted upon us when the previous approach was a perfectly good one. All in all, I have only to say it seems a premature roll-out of the approach. Now, where's Reader 7 when I need it?

UNIX Process Management

1st June 2007

Here are a few UNIX commands that I have recently encountered that help with process management and are particularly useful when jobs are running in the background. Here they are:

nohup

It's short for no hang up and stops termination of a job when a user logs off. Another result is that all console messages being directed to a file called nohup.out in the directory current to the job being run, or in the user's home directory, where write access to the current working directory is unavailable.

ps

This returns a list of processes, their ID's and their statuses. By default, this is for your own processes, but you can look beyond this with the myriad of options that can be passed. For instance, the -U switch allows you to look at a job for other users while the -f one shows more information than the standard call and this even includes the commands submitted to start the ongoing processes.

kill

The name says it all, and it's far quicker than the rigmarole that you have to endure with the Windows task manager; I wonder if there is a command line approach to process termination on Windows.

Using SAS FILENAME statement to extract directory file listings into SAS

30th May 2007

The filename statement's pipe option allows you to direct the output of operating system commands into SAS for further processing. Usefully, the Windows dir command (with its /s switch) and the UNIX and Linux equivalent ls allow you to get a file listing into SAS. For example, here's how you extract the list of files in your UNIX or Linux home directory into SAS:

filename dirlist pipe 'ls ~';
data dirlist;
    length filename $200;
    infile dirlist length=reclen;
    input buffer $varying200. reclen;
run;

Using the ftp option on the filename statement allows you to get a list of the files in a directory on a remote server, even one with a different operating system to that used on the client (PC or server), very useful for cases where cross-platform systems are involved. Here's some example code:

filename dirlist ftp ' ' ls user='user' host='host' prompt;
data _null_;
    length filename $200;
    infile dirlist length=reclen;
    input buffer $varying200. reclen;
run;

The PROMPT option will cause SAS to ask you for a password, and the null string is where you would otherwise specify the name of a file.

Google Analytics

25th May 2007

Furthering my excursions into things related to Google, I have been giving Google Analytics a whirl for my hillwalking and photo gallery website. Aside from the fact that it is updated once a day, it could have enabled me to eject WordPress plug-ins like Popularity Contest and FireStats getting the chop. As it happens, I also have a Google Analytics plugin installed, but a little editing of the blog template that I have developed would get rid of that too.

That’s enough about WordPress plug-ins; let’s return to Google Analytics. It has all the usual stuff: who’s visiting, from where are they coming, what are they using to see your site, etc. In addition, it captures if they are coming back, how long they are staying on the site and how deep they are going. Bounce rate is another term that features heavily: it is when a user only goes to one page and then leaves. With a blog, this unfortunately seems to come out as a high figure and that is ironic given that the blog was meant to promote the online photo gallery; it has very much taken on a life all of its own. There’s more to the information from Google Analytics, and it’s all useful stuff, of which I plan to make good use to improve how my site works.

Going overboard on blog plug-ins and widgets?

24th May 2007

This whole Web 2.0 thing is producing an embarrassment of riches for those wanting to share their thoughts on the web without having to go to the effort of developing their own websites from scratch. A decade ago, Geocities was pioneering the idea of web communities but, without the infrastructure and tools that we enjoy today, it and its kind were ahead of their time.

In these blogging days, life is a lot simpler, which means that temptations exist. Temptations like those caused by garish animated GIF’s in the late nineties, a lame attempt to spice up otherwise dull websites. Returning to the present, it is plug-ins and widgets that could convey the excess.

With WordPress, the plug-ins are more “behind-the-scenes” sorts of affairs, but it is so easy to accumulate several for stopping comment spam and keeping an eye on web traffic, to name just two applications, and so on that you need to be careful that a bag of nails does not result. In fact, I am now considering the rationalisation of what I have got while the number remains in single figures.

WordPress 2.2 adds widgets to the list of temptations; while WordPress.com already has these, the number is small, and you can be sure that that will explode now that self-hosted WordPress blogs get the functionality. The trouble with these widgets is that you need to be adept with CSS so as not to end up with an eyesore akin to those seen a decade ago, though theme authors can help with this. I am not activating widgets on my hillwalking blog because I have many other (better?) things to be doing.

Another thought on widgets: the tag cloud widget previously held in captivity at WordPress.com surely must now find itself in the wild, a worrying prospect given how rubbish they can appear. However, Jakob Nielsen et al. shouldn’t get too concerned, as trends that go too far scar the memory and preclude their return. Just consider those animated GIF’s…

  • The content, images, and materials on this website are protected by copyright law and may not be reproduced, distributed, transmitted, displayed, or published in any form without the prior written permission of the copyright holder. All trademarks, logos, and brand names mentioned on this website are the property of their respective owners. Unauthorised use or duplication of these materials may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties.

  • All comments on this website are moderated and should contribute meaningfully to the discussion. We welcome diverse viewpoints expressed respectfully, but reserve the right to remove any comments containing hate speech, profanity, personal attacks, spam, promotional content or other inappropriate material without notice. Please note that comment moderation may take up to 24 hours, and that repeatedly violating these guidelines may result in being banned from future participation.

  • By submitting a comment, you grant us the right to publish and edit it as needed, whilst retaining your ownership of the content. Your email address will never be published or shared, though it is required for moderation purposes.