Technology Tales

Adventures & experiences in contemporary technology

When buttons stop working…

16th November 2009

One of the things that stopped working as it should after my recent Ubuntu 9.10 upgrade was the Eclipse PDT installation that I had in place. Editing files went a bit haywire and creating projects had me pushing buttons with nothing happening. Whether this was a Java or GNOME issue, I don’t know but I found it happening too on openSUSE 11.2 (there should be more on that distro in a later entry). That was enough to get me looking again at Netbeans.

In both openSUSE (NB version 6.5) and Ubuntu (NB version 6.7.1), I plucked the default offering of Netbeans from the respective software repositories and added the PHP plugin in both cases. Unlike when I last gave the platform a go, things seemed to go smoothly and it looks to have replaced Eclipse for PHP development duties. Project scanning make take a little while but it’s far from annoying and my earlier dalliance with using Netbeans as a PHP editor was stymied by performance that was so sluggish as to make the thing a pain to use. Up to now, Netbeans’ footprints when it comes to its use of PC power never was light so I am wondering if dual-core and quad-core CPU’s help along with a copious supply of RAM. Only time will tell if these inital positive impressions stay the course and I’ll be keeping an open mind for now.

Take a great leap forward, then consolidate…

12th June 2009

While I have been a user of WordPress since late 2006, I only began to start keeping tabs on its development following my hearing news of dramatic changes coming in what became 2.5. Since a pattern developing with bigger changes coming in 2.5 and 2.7 while both 2.6 and 2.8 didn’t add too much in the way of upheaval but rather evolved what was already there. With 2.8, theme and widget management got the once over while there were plenty of other tweaks that polished a well received forbear. The differences between 2.7 and 2.8 are discernible without breaking anything that shouldn’t be broken. In short, I rather like the result.

The reaction to 2.5 was mixed, to say the least, and that in part led to the dramatic changes in 2.7, especially with regard to the administration interface. I admit to having had doubts about these when I first saw them development and there was so much chopping and changing during development that stepping back until things settled down became a necessity. Even adding a ticket to the TRAC was problematical unless you had sight of what was happening behind the scenes because it became too easy to add an invalid ticket.

With the release of 2.8 into the wild, 2.9 is now on the horizon and I am inclined to suspect that we might see bigger changes again. For one thing, there was that interface poll a little while ago and who knows what impact that may have on what comes next. The structure of the administration screens may not alter that much but that still leaves changes to colours and icons with the aim of separating navigation from what else is on there, something that doesn’t trouble me at all. In fact, I don’t see very much wrong with how how things are right now and wonder if there’s any point in making too many changes at all. The forecasted incorporation of WPMU functionality is a bigger change that would mean the end of WordPress MU as a separate entity and would concern me more with the amount of under the bonnet re-engineering that would be needed. Add Google Summer of Code projects to this mix and 2.9 looks as if it could be a step change in the spirit of 2.5 and 2.7, if not in feel. Summer 2009 could be very interesting for WordPress and I only hope that it continues to work for me in the way that it does as we move from version to version.

Investigating Textpattern

9th March 2009

With the profusion of Content Management Systems out there, open source and otherwise, my curiosity has been aroused for a while now. In fact, Automattic’s aspirations for WordPress (the engine powering this blog) now seem to go beyond blogging and include wider CMS-style usage. Some may even have put the thing to those kinds of uses but I am of the opinion that it has a way to go yet before it can put itself on a par with the likes of Drupal and Joomla!.

Speaking of Drupal, I decided to give it a go a while back and came away with the impression that it’s a platform for an entire website. At the time, I was attracted by the idea of having one part of a website on Drupal and another using WordPress but the complexity of the CSS in the Drupal template thwarted my efforts and I desisted. The heavy connection between template and back end cut down on the level of flexibility too. That mix of different platforms might seem odd in architectural terms but my main website also had a custom PHP/MySQL driven photo gallery too and migrating everything into Drupal wasn’t going to be something that I was planning. In hindsight, I might have been trying to get Drupal to perform a role for which it was never meant so I am not holding its non-fulfillment of my requirements against it. Drupal may have changed since I last looked at it but I decided to give an alternative a go regardless.

Towards the end of last year, I began to look at Textpattern (otherwise known as Txp) in the same vein and it worked well enough after a little effort that I was able to replace what was once a visitor dossier with a set of travel jottings. In some respects, Textpattern might feel less polished when you start to compare it with alternatives like WordPress or Drupal but the inherent flexibility of its design leaves a positive impression. In short, I was happy to see that it allowed me to achieve what I wanted to do.

If I remember correctly, Textpattern’s default configuration is that of a blog and it can be used for that purpose. So, I got in some content and started to morph the thing into what I had in mind. My ideas weren’t entirely developed so some of that was going on while I went about bending Txp to my will. Most of that involved tinkering in the Presentation part of the Txp interface though. It differs from WordPress in that the design information like (X)HTML templates and CSS are stored in the database rather than in the file system à la WP. Txp also has its own tag language called Textile and, though it contains conditional tags, I find that encasing PHP in <txp:php></txp:php> tags is a more succinct way of doing things; only pure PHP code can be used in this way and not a mixture of such in <?php ?> tags and (X)HTML. A look at the tool’s documentation together with perusal of Apress’ Textpattern Solutions got me going in this new world (it was thus for me, anyway). The mainstay of the template system is the Page and each Section can use a different Page. Each Page can share components and, in Txp, these get called Forms. These are included in a Page using Textile tags of the form <txp:output_form form=”form1″ />. Style information is edited in another section and you can have several style sheets too.

The Txp Presentation system is made up of Sections, Pages, Forms and Styles. The first of these might appear in the wrong place when being under the Content tab would seem more appropriate but the ability to attach different page templates to different sections places their configuration where you find it in Textpattern and the ability to show or hide sections might have something to do with it too. As it happens, I have used the same template for all bar the front page of the site and got it to display single or multiple articles as appropriate using the Category system. It may be a hack but it appears to work well in practice. Being able to make a page template work in the way that you require really offers a great amount of flexibility and I have gone with one sidebar rather than two as found in the default set up.

Txp also has facility to add plugins (look in the Admin section of the UI) and this is very different from WordPress in that installation involves the loading of an encoded text file, probably for sake of maintaining the security and integrity of your installation. I added the navigation facility for my sidebar and breadcrumb links in this manner and back end stuff like Tiny MCE editor and Akismet came as plugins too. There may not be as many of these for Textpattern but the ones that I found were enough to fulfill my needs. If there are plugin configuration pages in the administration interface, you will find these under the Extensions tab.

To get the content in, I went with the more laborious copy, paste and amend route. Given that I was coming from the plain PHP/XHTML way of doing things, the import functionality was never going to do much for me with its focus on Movable Type, WordPress, Blogger and b2. The fact that you only import content into a particular section may displease some too. Peculiarly, there is no easy facility for Textpattern to Textpattern apart from doing a MySQL database copy. Some alternatives to this were suggested but none seemed to work as well as the basic MySQL route. Tiny MCE made editing easier once I went and turned off Textile processing of the article text. This was done on a case by case basis because I didn’t want to have to deal with any unintended consequences arising from turning it off at a global level.

While on the subject of content, this is also the part of the interface where you manage files and graphics along with administering things like comments, categories and links (think blogroll from WordPress). Of these, it is the comment or link facilities that I don’t use and even have turned comments off in the Txp preferences. I use categories to bundle together similar articles for appearance on the same page and am getting to use the image and file management side of things as time goes on.

All in all, it seems to work well even if I wouldn’t recommend it to many to whom WordPress might be geared. My reason for saying that is because it is a technical tool and is used best if you are prepared to your hands dirtier from code cutting than other alternatives. I, for one, don’t mind that at all because working in that manner might actually suit me. Nevertheless, not all users of the system need to have the same level of knowledge or access and it is possible to set up users with different permissions to limit their exposure to the innards of the administration. In line with Textpattern’s being a publishing tool, you get roles such as Publisher (administrator in other platforms), Managing Editor, Copy Editor, Staff Writer, Freelancer, Designer and None. Those names may mean more to others but I have yet to check out what those access levels entail because I use it on a single user basis.

There may be omissions from Txp like graphical presentation of visitor statistics in place of the listings that are there now and the administration interface might do with a little polish but it does what I want from it and that makes those other considerations less important. That more cut down feel makes it that little more useful in my view and the fact that I have created A Wanderer’s Miscellany may help to prove the point. You might even care to take a look at it to see what can be done and I am sure that it isn’t even close to exhausting the talents of Textpattern. I can only hope that I have done justice to it in this post.

Work locally, update remotely

4th December 2008

Here’s a trick that might have its uses: using a local WordPress instance to update your online blog (yes, there are plenty of applications that promise to edit your online blog but these need file permissions to the likes of xmlrpc.php to be opened up). Along with the right database access credentials and the ability to log in remotely, adding the following two lines to wp-config.php does the trick:

define('WP_SITEURL', 'http://localhost/blog');

define('WP_HOME', 'http://localhost/blog');

These two constants override what is in the database and allow to update the online database from your own PC using WordPress running on a local web server (Apache or otherwise). One thing to remember here is that both online and offline directory structures are similar. For example, if your online WordPress files are in blog in the root of the online web server file system (typically htdocs for Linux), then they need to be contained in the same directory in the root of the offline server too. Otherwise, things could get confusing and perhaps messy. Another thing to consider is that you are modifying your online blog so the usual rules about care and attention apply, particularly with respect to using the same version of WordPress both locally and remotely. This is especially a concern if you, like me, run development versions of WordPress to see if there are any upheavals ahead of us like the overhaul that is coming in with WordPress 2.7.

An alternative use of this same trick is to keep a local copy of your online database in case of any problems while using a local WordPress instance to work with it. I used to have to edit the database backup directly (on my main Ubuntu system), first with GEdit but then using a sed command like the following:

sed -e s/www\.onlinewebsite\.com/localhost/g backup.sql > backup_l.sql

The -e switch uses regular expression substitution that follows it to edit the input with the output being directed to a new file. It’s slicker than the interactive GEdit route but has been made redundant by defining constants for a local WordPress installation as described above.

An early glimpse of Ubuntu 9.04

27th November 2008

Ubuntu development is so gradual these days that there’s almost no point getting too excited about new versions. Its being a mature Linux distribution means that updates aren’t that much of an upheaval and I must admit to liking it than way. Taking a look at the first alpha release of Ubuntu 9.04, otherwise known as “Jaunty Jackalope”, it seems that there isn’t a change to that gradual, some may call it glacial, approach. The biggest change that I noted was the addition of an encrypted private area to your home user area. In the times in which we live, I can certainly see that coming in useful though it may not set pulses racing in some quarters. OpenOffice is still at 2.4 and things don’t appear very different on the surface at all. Of course, things like kernel changes and such like could be going on under the bonnet without many of us noticing it.Saying that, it played well with VirtualBox and I seem to remember virtual machine trouble with early builds of 8.10 so that can be taken as a plus point. I suppose that it is a case of wait and see before there is anything more obviously defining about 9.04. Anyway, they’ve got until April next year…

A CSS3 resource

30th September 2008

While you could go over to the W3C and peruse its documentation, it’s always nice to see information being presented in a more user friendly way than dry specification documents. I know that CSS2.x adoption is still bumping along -- IE comes to mind as a laggard -- but CSS3 has some nice additions that I could use. One of these is border rounding, which is supported after a fashion by Firefox, Safari and Chrome (a very nice browser, even at this very early stage in its development; it’s Windows only for now so try out CrossOver Chromium if your OS preference is Linux or OS X). It would be very nice if CSS3 support was more advanced but that’s not how things are right now. Therefore, seeing a website like CSS3.Info with its latest CSS3 news and its previews, browser CSS selector testing among other things is a definite bonus.

Another alpha release of Ubuntu 8.10 is out

26th July 2008

It’s probably about time that I drew attention to Ubuntu’s The Fridge. While the strap line says “News for Human Beings”, it seems to be the place to find out about development releases of the said Linux distribution. Today, there’s a new alpha release of Intrepid Ibex (8.10) out and they have the details. As for me, I’ll stick to updating my 8.10 installation using Synaptic rather than going through the whole risky process of a complete installation following a download of the CD image. Saying that, it would be nice to see the System Monitor indicating which alpha release I have. I didn’t notice anything very dramatic after I did the update, apart maybe from the hiding away of boot messages at system startup and shutdown or the appearance of a button for changing display settings in the panel atop the desktop.

Technical considerations regarding the discussion aspect of blogging

18th July 2008

Technical considerations regarding the discussion aspect of blogging

When making a start in the world of blogging, there are so many things to consider that you almost need a trial run first to learn the lingo. In fact, getting up to speed by using a service like that offered by Blogger or WordPress.com seems a very sensible starting point. Even so, the business is like building a house in that you only really know what you are doing after you have done the deed and made all the mistakes. That is particularly true when you go down the self-administered blog route. For starters, it’s so easy to pick the wrong domain name or hosting provider. Selecting your blogging software is the next step, but that may not be so tricky; WordPress does a reasonable job and there’s always Movable Type, Expression Engine, Drupal (yes, really) or Habari.

That mention of blogging software brings me to something that I encountered recently: commenting functionality. I am coming around to the idea that this is probably something that needs to be considered up front because of the nature of blogging. After all, anyone who reads The Blog Herald regularly should be familiar with the idea of blogging conversations and that means that the technology to make it happen should be easy for visitors to use and easy for bloggers to administer. However, the two can collide. For one thing, there are a myriad of choices available to the blogger and the blight of comment spam is ever pervasive and growing.

When it comes to comment spam, it is best to realise that there are two sources of responses to a blog post: visitor comments or trackbacks (pingbacks?) from other blogs. I reckon that the latter is probably the channel where most of the detritus travels and various anti-spam solutions are on offer to curb its spread. Names from the WordPress world like Akismet, Spam Karma, Simple Trackback Validation and Bad Behaviour come to mind. The former can also be used, particularly when the unscrupulous make use of low-cost labour in low-cost countries, and that’s when the thorny questions of user registration and CAPTCHA‘s arise. There is something to be said for not going to extremes with these and just sticking with less onerous rules and filtering on the server side.

I must admit to having staggering into forcing visitors to register prior to adding a comment and then making them log in thereafter. I think that it’s for security reasons, but WordPress creates a password and then sends it to the person who is registering rather than displaying on a web page. That can create another problem: what happens if the email fails to arrive? In the last week, this has happened with a visitor to my hillwalking blog and there could be a number of reasons for the non-arrival of the relevant email. One is ironic: being an automated email, it gets stuck in the spam filters of the recipient’s mailbox and so never gets to them. It could also be a bug with WordPress itself (I have raised a ticket and I am awaiting what Automattic might have to say to it) or a consequence of some setting made by a hosting provider. All of that makes it hard to track down the cause of the issue but it kicks off other thoughts as to its resolution. One is to remove the needed for registration and logging in the first place, but there are third-party services that may help too. The former has turned out to be the case for this blog and it seems to be performing well enough so it is an acceptable option.

When it comes to using third-party comment handling systems, what needs to be considered is how well they work with your blog. For instance, I gave Disqus a quick whirl and soon realised that I needed to update the themes for my WordPress blogs if I were to use it on an ongoing basis. Otherwise, it worked fine but I was left wondering if it would have been better to have brought it in when I started a blog rather than part way through and with comments made using the existing WordPress functionality. There’s also Intense Debate and I am almost certain that there are more like it but I’ll be sticking with what WordPress offers for now. The theme for my hillwalking blog has been modified to allow prospective commenters to get in touch with me if they are having problems. That is only an interim approach while I consider what the way forward will be.

WordPress 2.6 out in the wild

15th July 2008

There was a time when I tested out a new WordPress release when it made its appearance but I now now keep tabs on development versions too. It helps me to be ready in ample time and avoid any ugly stuff appearing on either here or my hillwalking blog. On the surface, the changes made don’t seem so dramatic after the revamp of the administration interface that came with 2.5. Under the bonnet, a lot of bugs have been fixed and many behind the scenes features have been included for the first time. I’ll leave it for you to go to Planet WordPress or check out the relevant entry on the WordPress Development blog. You’ll find a Flash video tour of the latest version from Automattic below.

Of course, WordPress development doesn’t stop here and there are some considerable changes to the administration interface to come at some point if they ever make out into the mainstream from the crazyhorse branch. I’ll be continuing to keep an eye on how things go from here so as to be ready for whatever might be in the offing. For now, enjoy 2.6 but it’ll interesting to see where it all goes from here.

A collection of lessons learned from using Eclipse on Ubuntu

9th July 2008

I have been running into a few woes on the home computing front that may or may not give rise to a number of posts on here. Having my Windows VM’s going awry on VMware is a more worrying development with my need to use a Windows-based application for my hillwalking mapping  but I am going to devote this entry to a spot of bother that I started to have with Eclipse, if only because I managed to sort that one out.

Up to yesterday, I had all my offline website development stuff in a single project area for sake of ease of testing. I suppose that I got led into this by my use of Dreamweaver and the way that it sets up what it calls Sites. Applying that same of working to Quanta Plus and Netbeans just chokes up the respective IDE’s and makes them less usable. Until recently, Eclipse escaped this because it seemed to check if a file had changed when you tried editing it and asked you if you wanted the latest version. This stopped in the last few days for whatever reason and it started to stall just like the others.

Naturally, I wanted to set it back as before so a certain amount of investigation was in order. I ended up refreshing my installation in /usr/lib, a manual extraction of the Eclipse PDT archive but that didn’t resolve the issue. In fact, it created another one but we’ll talk about that later. Creating a smaller project made it all work again and I’ll be building up a number of these.

The new issue pertained to the creation and selection of the Eclipse workspace. There was no problem using what I wanted it to use but it wouldn’t remember the setting. There was more blundering about before I happened on the cause: access permissions. I copied the new Eclipse files in as the root user and that meant that Eclipse couldn’t update its setting when I was running it under my own account. Running the editor using sudo sorted out the workspace selection issue for now but a more permanent fixing such as giving myself write access to the configuration directory and what’s in there remains an outstanding task.

The mention of the Eclipse workspace brings me back to the way that it was working before the upheaval hit me. It does keep a copy of every file that you edit in there and maybe more besides. Thus, having a copy of every file in the project would have meant that it didn’t need to do the constant churning being performed by Quanta or Netbeans. That’s impression that I have but I’ll sticking with smaller project bundles from now on. Learning all this was useful.

  • All the views that you find expressed on here in postings and articles are mine alone and not those of any organisation with which I have any association, through work or otherwise. As regards editorial policy, whatever appears here is entirely of my own choice and not that of any other person or organisation.

  • Please note that everything you find here is copyrighted material. The content may be available to read without charge and without advertising but it is not to be reproduced without attribution. As it happens, a number of the images are sourced from stock libraries like iStockPhoto so they certainly are not for abstraction.

  • With regards to any comments left on the site, I expect them to be civil in tone of voice and reserve the right to reject any that are either inappropriate or irrelevant. Comment review is subject to automated processing as well as manual inspection but whatever is said is the sole responsibility of the individual contributor.