Thursday, May 13, 2010

Getting Started with Maemo 5 - Frustration

0 comments
So now that I have my shiny new Ubuntu installation customised like I want it with various apps, the most important being Aptana for its robust support of FTP in PHP development, I wanted to have a look at Maemo development and make some simple widgets for my Nokia N900.

I knew the Nokia SDK only runs natively on Debian based systems like Ubuntu. Sadly, what I didn't know is while Scratchbox Xypher and the SDK installed and functioned without issue on Lucid, when it came to the IDE setup, things didn't go quite so smoothly - in fact, they didn't go at all.

The recommended IDE is Esbox which is basically a plugin for Eclipse which can handle development in Scratchbox. However, Esbox in both its full Eclipse install form and the plugin form only works with much older versions of Eclipse and their Eclipse version didn't like my version of GTK. Despite the versioning info on the Esbox site, I figured maybe with Lucid I might get away with it but all I got was a splash screen and a contentless dialogue box that refused to die.

So it seems that even though I'm on Ubuntu I will have to use the virtual image of the Maemo SDK environment to get anything serious done on Maemo.

I intend to have a poke around this option over the next few days and will post if I meet any significant hurdles.

Monday, May 3, 2010

Ubuntu 10.04 - Lucid Lynx on Dell Inspiron 9400 and Inspiron 500m

3 comments
I've been watching the development of Linux on the Desktop since '99 like an expectant chef stands over a big ol' pot of gumbo - occasionally dipping for a quick taste to see if it was 'just right' yet. Confident of the ingredients, I knew all it needed was time.

With the catalyst of the surge in popularity of Linux as an OS on various other devices such as netbooks and phones, I believe we are closer to chow time than we have ever been.

Over the weekend I've been checking out the latest incarnation of Canonical's Ubuntu distribution - 10.04 LTS (rather more imaginatively codenamed Lucid Lynx). The 'LTS' prefix basically means it will be supported for the next 3 years even though Canonical release a major update to their operating system every 6 months or so.

I installed it on 2 machines, an old Dell Inspiron 500m with 512mb of RAM and an existing XP Pro installation and also on a Dell Inspiron 9400 with 2GB of RAM. While there were issues with the installation on both machines, both potential showstoppers for a casual computer user with one of these machines trying out Linux for the first time, there were documented fixes for the issues which I tracked down with relative ease.

Ubuntu 10.04 on Dell Inspiron 500m
I ran the install from inside XP and on rebooting I found that I could not complete the installtion using the graphical user interface - the PC hung with a blank black screen. I rebooted and tried in graphics failsafe mode and I was able to complete the installation - albeit with the graphic user interface.

After a lot of experimenting with xorg.conf settings I finally discovered that the fix is really quite simple. You need to upgrade the Kernel to 2.6.34-020634rc5_generic using instructions I found here.

1. After powering on your PC, press shift (keep pressed) until see the boot loader menu. Choose the recovery mode option.
2. On next step select start failsafeX session.
3. Your grapical user interface may load but for me it didn't.
4. Login in any case.
5. Open a terminal command line (Application > Accessories -> terminal if you are in the GUI)
6. Type this command and press enter (without quotes):
"sudo -i" and enter your password.
7. Type this command and press enter (without quotes):
"cd /tmp"
8. Type this command and press enter (without quotes):
"wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc5-lucid/linux-image-2.6.34-020634rc5-generic_2.6.34-020634rc5_i386.deb"
9. Type this command and press enter (without quotes):
"dpkg -i linux-image-2.6.34-020634rc5-generic_2.6.34-020634rc5_i386.deb"
10. Type this command and press enter (whitout quotes):
"apt-get update && apt-get upgrade"
11. However, what wasn't mentioned was that you may then need to change the Driver from 'vesa' to 'intel' in your /etc/X11/xorg.conf file.

sudo nano /etc/X11/xorg.conf

which will open up the xorg.conf file in a simple editor called Nano.
Then change the line Driver "vesa" to Driver "intel"
Then we press Ctl + o to save and then Ctl + x to exit Nano.
12. Type this command and press enter (whitout quotes):
"init 6" Your computer will restart with new kernel as the default option to load in GRUB.. Use it and your GUI should load without issues - at least it did for me.

I had no other issues with the install on the Dell Inspiron 500m and even with only 512MB RAM the machine is reasonably responsive - much more so than it was running XP.

Ubuntu 10.04 on Dell Inspiron 9400
There were two issues with this machine. wi-fi card (no surprises there eh) and sound.

The wi-fi card, based on a Broadcom chip, required proprietary drivers which can easily be installed from the Ubuntu user interface itself by choosing System > Administration > Hardware Drivers from the main menu.

The Sigmatel soundcard (which incidentally had caused me no end of hassles originally under Vista) also had issues - essentially using the slider to control volume only output sound after it was raised to 17% and at 17% it was extremely loud. A quick search on Google turned up this - the final solution on the page produced a decent result for me.

The interface for Lucid Lynx is very pretty - quite OSXish in appearance and with Ubuntu taking care of the installation of MP3 codecs when you open Rythmbox now to support the new Ubuntu music store and Adobe doing a much better job of distributing the latest version of Flash to Ubuntu machines (installation is at least as easy as it is for Windows) not to mention the leaps forward in functionality for the Empathy multi-protocol chat client (which now supports Facebook chat and audio/video calls in Google Talk) as well as the handy Gwibble client for getting even more social on Facebook, Flickr and Twitter directly from the desktop, Ubuntu should easily meet the needs of most casual desktop computing users.

The only little gripe I have is how little space comes with the free version of Ubuntu One - the cloud storage service bundled with Ubuntu, which only offers 2GB as opposed to the much greater capacity offered by MS Mesh.

Tuesday, August 11, 2009

Bing Webmaster Central - Broken?

0 comments
Having very strange issues with Bing Webmaster Central today.

Some of my sites are reported as failing authentication even though they were previously via the XML file and I have checked that the authentication files are still in place and crawlable.

On another site http://www.lostandfoundpets.ie, I can not view any information on the status screeen - just seeing N/A for date last crawled, number of pages indexed etc, even though I could previously view values for these bits of information. No errors displayed under the errors section and no indication that the site has been blocked.

Furthermore it seems that the site has dropped from the SERPs though it had quite a prominent position for my main keywords just a couple of days ago.

Anyone else seeing behaviour like this. Left a message on the community forum but no response so far..

Friday, June 5, 2009

Google Toolbar Hijacking Style and Tooltip

3 comments
Quick update on this. The tooltip stealing behaviour I have observed seems to happen in Firefox 3 on Vista, in IE 7 on XP and IE 8 on Vista, the tooltips are left intact. Those who have checked other platforms may add their findings to the comments.

Well I have been looking into this issue over the last couple of days and I am surprised that more web developers aren't voicing their displeasure about the way that Google Toolbar hijacks the background-color style of form elements it thinks it can autofill and how it overwrites the title attribute on these fields as well.

Now, let me begin by saying that I think browser enhancements like this can be a great addition to any browser but there should be an option on the development side to disable them, particularly when they can have such an impact on the usability of forms. The main issues I have with the toolbar are:

1. Autofill is turned on by default. Google's position is that the user should decide whether they want this behaviour or not but if that is the case then the user is quite capable of turning it on themselves. Many times clients, who I assume are pretty representitive of the average web user have asked me why it was that some fields in their forms are yellow. Therefore it seems that this visual prompt is of little use to users in any case unless they know about the autofill functionality in Google Toolbar.
2. Autofill may break usability. Frequently, web developers would use CSS styled visual queues on form fields to indicate validation status and would also wish to provide extra information about the data expected in the field to the user via the tooltip. Both these tasks become very difficult to accomplish when the Google Toolbar hijacks these properties. If users don't recognise the meaning of the yellow background, they may think the field has some other significance that it does not. Also, what happens if a developer wants to style their form with a background color that is the same as the highlighted field colour? Should a plugin really have the power do dictate the design choices made - I don't believe so.
3. There is no 'Off' switch. Some browser plugins I have encountered allow the developer to disable them. For instance, the Skype plugin which attempts to identify phone numbers on a web page and render them as a clickable button which launches a call to that number via Skype can be disabled with a META tag.
4. There are issues of aesthetics here - many clients have remarked to me that the highlighted fields look ugly in the overall context of the syle of the form.

On a site I am currently engaged on, the colour change isn't really an issue but the tooltip hijacking is. I had hoped to provide extra information for users in the tooltip describing in more detail than I could in a label, the data they should enter in each field. Now it seems that I can attempt to 'fool' the toolbar by giving my fields non-standard names. However, what I seem to be finding is that if I have label's who's for attribute points to the field, the toolbar will use the content of the label as a hint to the kind of data expected in the field.

For example, I have the following code:

<label for="txt_ccn">Mobile</label><input id="txt_ccn" name="txt_ccn">

Now the name txt_ccn seems fairly ambiguous to me, yet the field is flagged by the toolbar as a field it can autofill. I can only conclude in this case that either the toolbar is psychic or that it is using the content of the label element associated with the field to figure out the data expected in the field.

The other problem I have with a naming based solution is that it really should be in the developer's domain to choose whatever field names suit their project. Many developers for instnace, like to map field names to object members in their server-side code.

With all these considerations in mind I began to look for workarounds to these issues. I found precious little on the topic out there (maybe most developers just don't care) but I did find a great article here though it is somewhat dated.

Using some of the ideas from that article, and given that I am using JQuery already in this project I decided I would write a small JQuery Plugin to address these issues. For IE browsers I was able to use the onpropertychange event to prevent the toolbar from modifying the background color of the fields. Similarly for Mozilla based browsers, I was able to use the onDomAttrModified event to catch the toolbar and remove the background color change.

Sadly though, this approach did not work for the title attributes on the fields in Firefox 3 with the toolbar installed. The toolbar replaced those regardless so I guess it makes these changes outside the scope of the document DOM - very annoying!

In any case, here is my JQuery plugin code which some may find useful to at least address the aesthetic and some of the usability issues. Basically, it itterates through the input elements in a document, attaching an event listener fuction which simply prevents the Google Toolbar applying the background color style on all input elements by resetting the style attribute on the field to an empty string each time it detects an attempt to change the attributes of the field.


jQuery(function($){
$.fn.googleToolbarStyleRemover = function(options){
function setListeners(){
if (typeof (this.onpropertychange) == "object"){
$('input').bind('propertychange',function(e){
e.preventDefault();
$('input').attr('style','');
});
}
else if ($.browser.mozilla){
$('input').bind('DOMAttrModified',function(e){
e.preventDefault();
$('input').attr('style','');
});
}
else
{
return false;
}
}
return setListeners();
}
})


To use the plugin you would simply paste the above code into a javascript file named jquery.googleToolbarStyleRemover-1.0.js and link that to your documents using:


<script type="text/javascript" src="path_to_file/jquery.googleToolbarStyleRemover-1.0.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.fn.googleToolbarStyleRemover();
});
</script>


Obviously this code would need to appear after you had called the main JQuery file.

If anyone out there has found a way to address the tooltip issue or those who have trie experimented with the toolbar's behaviour in a wider range of browsers and operating systems, I would love to hear from them.

3 Ireland Finally Gets Webtexts

0 comments
I've had a pretty rocky relationship with telco 3 Ireland over the past couple of years. Their customer service is appalling so even getting the simplest things done can be a nightmare but their data packages are second to none in terms of value and their 3 like home 'promotion' is unrivaled in the current Irish market.

Yesterday, I discovered that they are now offering 333 free webtexts per month to their 3 pay, pay monthly and best of both customers. The service seems limited to national numbers only, probably reflecting 3's lack of roaming agreements with foreign telcos but still, particularly for those of us who spend a significant chunk of our day in front of a PC, this is great news.

You can find full details here - http://www.three.ie/on3/webtext.htm.

Tuesday, May 26, 2009

PHP & IIS - INI File Location

0 comments
OK, so normally I wouldn't be seen dead running PHP on Windows but I'm currently doing some odds and ends for MiCandidate and one of the things they needed was to run some PHP code in their otherwise ASP.NET based site.

One of the ASP.NET developers attempted to install the current release of PHP (5.2.9-2), first from the MSI and then using the ZIP package but in the end failed to get their customised php.ini file to load.

After a less than delightful morning of reading and testing, I have discovered the following. The phpinfo() function will apparantly always return a value of 'c:\windows' for the configuration file path setting.

The important thing to note here though is where the ini file is being loaded from. By default it will load it from the PHP installation directory. If you want to to load from somewhere else, like say, the windows directory, you must first edit the registry and add/change the following key:

HKLM/Software/PHP/IniFilePath

setting its value to 'c:\windows\'

However, this is not enough to force PHP to load this file. You must also ensure that you have removed any copy of php.ini from the installation directory too before the registry setting is respected.

It is also worthwhile noting that you need to ensure that your PHPRC environmental variable is set to your PHP installation folder (usually c:\php).

Finally, it is a good idea to set up a separate application pool in IIS to run PHP so you can just recyle that to see the changes made in php.ini. This obviously minimises distrutpion for other developers using the server.

This experience did nothing to enamor the ASP.NET developer to PHP and I wonder why the MSI installer can not take care of these issues gracefully.

Friday, May 22, 2009

Tip for Irish Companies & Professionals on Twitter - Brand it!

0 comments
Anyone who has taken the time to look at Twitter can not fail to be struck by its potential for humanising business and the marketing opportunities inherent therein - (FreelanceWebDev).

One thing that has surprised me though, is how little work organisations and professionals in Ireland have put into their branding there. Even those in the business of offering branding as part of their service and those who's main interface with their market IS the web, seem to fall short in this regard. When you look at the efforts kids put into the look and feel of their Bebo profiles you start to realise the increasing importance of this aspect of your presentation.

Successful look and feel branding on Twitter means you need to respect a few constraints in the layout of the pages and you should note how those change for various screen resolutions but even designing for the most common resolution currently of 1024 x 800 will have a big impact on the perception of your Twitter page.

Monday, May 18, 2009

JQuery Plugin nyroModal and Base HREF

3 comments
I've been using JQuery on my new pet project (excuse the pun) and having tried a few of the modal content plugins available, I have settled on NyroModal, a very compact, flexible and elegant solution.

Yesterday though, I ran into a small issue with the plugin. I am using a base href tag on the site so that I can use URL rewriting but still use relative links in my content. When trying to load a hidden div as the content of a modal, I discovered that because the base href URL is being prepended to the URL NyroModal attempts to load, NyroModal assumes that I am requesting another page rather than an element in the page DOM. The result is a modal displaying a 'content not found' error.

My first thought on discovering this was to remove the base href element from the page in the click event of the link spawning the modal before calling the modal but that didn't work as JQuery removes the element from the DOM but still retains it internally.

I also had no luck removing the value of the href attribute before calling the modal but checking in the NyroModal script, the original URL in the base href was still being used.

Given at that point that I was already looking into the NyroModal script to see what URL was being passed I decided to dig a little deeper and found a rather simple solution.

The script has a line

if(req == currLoc)

This line basically checks if the requested URL (stripped of the specific selector) matches the href property of the current location object to see if the URL is the same as the current page and therefore that it should be loading a DOM element from the current page. However, because the pressence of the base href attribute, it's value gets prepended to the requested URL and this comparison becomes invalid. Amending this check to also compare against the value of the base href attribute as follows addresses this issue.

if(req == currLoc || req == $('base').attr('href'))


I have posted about this on the issue thread for the NyroModal project on Google code.

Saturday, May 16, 2009

.htaccess and PHP4 Vs. PHP5 on Blacknight Shared Hosting

0 comments
Ah, another weekend and another foray into troubleshooting issues with my recently acquired Blacknight hosting. For the past few weeks I had been using PHP4 but decided today that I should really move to PHP5 for my new personal project.

After some head scratching, it seems that I can not override the display_errors setting in the pho.ini file for PHP5 which by default is set to Off via the .htaccess file though I can do this for PHP4. However, I can override it by using ini_set() within my scripts.

This information might come in handy for some other poor soul wondering why they were getting blank screens. I will have to investigate at some point what options I have for overriding other settings as it is nice to keep all these things centralised.

Friday, May 15, 2009

Irish Email Marketing - What Not to Do

0 comments
I have just been spammed at my personal email address by the popular Irish insurance website, 123.ie. I really have to wonder what goes through the minds of those involved in the production of these mailouts risking the integrity of their entire list by including addresses they shouldn't.

To the best of my knowledge, I have never given any email address to this site. The email I received was image based so did not render in my email client properly - I had to enable the images in order to discover how to unsubscribe to mailings I never actually knowingly subscribed to. This only increased my sense of privacy violation as it is likely that these image impressions are being tracked.

In any case I followed the remove instructions trusting that they will be honoured - if not, I will be sitting on the data protection regulator to address this meaningfully. I also marked the email as spam in my Gmail which hopefully will have some negative impact on future mailouts by 123.ie.

Irish email spam is relatively rare and I for one, intend to keep it that way :)

Tuesday, May 12, 2009

3 Roam Like Home - R.I.P.?

0 comments
Reading on Boards.ie that the telco 3 is to axe its 3 like home service which basically meant that a 3 customer was charged abroad exactly as they would be at home for voice and data as long as they roamed on another 3 network.

One of the reasons being proffered for this move is the new reduced EU roaming rates which will, allegedly, deprive 3 of the revenue to support this service. In essence it makes a mockery of the EU roaming charges legislation by suggesting that it has introduced new charges for 3 customers where none previously existed.

I would imagine that the spirit of that legislation was that the telcos should desist from their previous unjustifiable profit taking on customers who travel and it seems from this consumers point of view, a pretty cynical move to just reclassify those charges to maintain profit margins rather than absorbing the reduction in revenue.

While officially 3 Ireland have denied that any changes are coming in this area, it is hard to believe they won't follow the lead of their British and Italian counterparts. To stay in line with their sister networks abroad who are ceasing the service on June 30th and honour their legal obligation to give 30 days notice, they will have to come clean by the end of the month.

I would call COMREG and ask what they think of this if I thought they cared or had the teeth to do anything about it but given that it took the EU, rather than our own regulator to take on the telcos in this regard in the first place, I wouldn't be hopeful of any meaningful response.

TinyMCE & Tables The Easy Way

0 comments
I am a big fan of the open source CMS ModX which uses the rich text editor TinyMCE by default. While, like most developers, I have moved away for table based layouts for my sites, there are times when the CMS users need to enter tabulated data and doing this is somewhat less than user friendly.

Working on my latest ModX based site for a mutltilingual recruitment agency this morning I've come across this issue as I enter tabulated international salary data. The tables are not complex, we have a header row containing column headings and a number of rows containing data. However, in the table code automatically produced by TinyMCE, it does not distinguish between header rows using table heading tags but rather just produces regular rows.

I have discovered that the easiest way to add and format these tables for non-technical users to TinyMCE is to lay them out in MS Excel and then copy and paste the cells comprising the table into TinyMCE. A user can then add the general table class by right clicking the table in the editor and entering the table class and by placing the cursor in a cell in the heading row and right clicking, choose 'Row Properties' and apply a heading row class.

The specific CSS classes I am using for this project are below. This gives a table with a blue heading with white text and individual cells are bordered in the same blue. Of course, these styles can easily be customised for your own site look & feel.


table.datatable
/* I give the data tables their own class to distinguish them for other content that may be tabulated in the content or layout.*/
{
border:1px solid #3525CD;
width:100%;
}
table.datatable tr.header
/* The header row class for my table */
{
color:#ffffff;
background-color:#3525CD;
text-align:center;
font-weight:bold;
}

Friday, May 8, 2009

Irish Broadcasting Bill 2009

0 comments
There is an interesting article and discussion going on at Slashdot on the current Broadcasting Bill wending its way through the system here. Essentially it would seem that under the new legislation, owning an internet connected multimedia PC would be enough to trigger the requirement to pay a TV license.

I can see the need for such legislation amending the licensing law to cater for all the new modes of accessing the state broadcaster's content which don't involve a TV (Slingbox being my personal favourite) but only if we persist with this arcane licensing system, conceived in a very different era.

It is difficult to see any justification any more for actually having this discrete licensing system with all the overhead of administration and enforcement, not to mention all the debates about value for money and where it leaves the commercial broadcasters in terms of competition.

All in all it seems a missed opportunity to reexamine this whole area and apply some fresh thinking.

GMail Out Sick

0 comments
So this morning I logged into my iGoogle page only to discover that, as written about it several blogs the past few days that the GMail gadget no longer works as I have the 'use https' setting switched on in my GMail.

So as directed I then tried to visit GMail directly at www.gmail.com (using both a http and https connection) and got:



It seems that POP3 access is down at the moment too.

Doesn't seem that long since GMail's last outage. Given that GMail is such a fundamental part of iGoogle, it strikes me as odd that the services seem so fractured and that this issue of https should ever see the light of day and given that it is all Google real estate at the end of the day, it would be a nice idea if the status of the resolution to these outages appeared on my iGoogle page.

No mention yet of the current outage on the official GMail blog.

Tuesday, May 5, 2009

No Shared PEAR Library on Blacknight Minimus :(

5 comments
Update
I've just got a mail from the Technical Director at Blacknight pointing me to a post regarding PEAR availability on their shared hosting packages. However, it seems I am still having issues with the paths I was given for PEAR originally so am awaiting clarification.
End of Update

Update 2
Just got a mail from frontline tech support pointing me at the original paths. Not overly helpful given I have just pointed out, they don't seem to work.
End of Update

So this long weekend I was busy getting up and running on Blacknight where I've taken out a Minimus hosting package to evaluate their service using my current personal project Lost & Found Pets Ireland after continued very disappointing service from my current main shared hosting provider Namesco (formally Register365).

All was going nicely as I configured my site using their very clear and intuitive control panel, I uploaded my site, set up and imported my database, set folder permissions and configured the email services with no real problem. However, I quickly realised that not everything in the garden was rosy. I use the excellent Pear library to abstract my database interactions and after quite a bit of experimentation and several emails to support I learned that while for PHP4, there is an accessible shared version of Pear, it does not include MDB2 and there is no accessible shared installation of Pear for PHP5.

Getting the paths to Pear for both versions of PHP took a couple of emails and at that point it would have been nice if they could have told me that the PHP5 version wasn't accessible due to open-basedirectory restrictions never mind that the PHP4 version didn't have MDB2 installed. After quite a few mails I established that they did not see prospects for making Pear more available which is pity and means my search for a replacement to Namesco for the majority of my shared hosting still continues. With increasingly complex demands being made on even more basic sites it is a great pity that Blacknight have taken this position given the quality of PEAR and how much it speeds up development time. They had no difficulty with me installing my own copy though for me, that's just one more headache as I have to monitor versions and particularly security issues now - tasks I feel should really be in Blacknight's domain.

I spent the best part of 2 hours on Sunday massaging the web based installer to get a working copy of PEAR with MDb2 and the MySQL driver installed. While the Pear installer ran without issue and installed MDB2 in the root of my webspace, the big problem came when I tried to install the MySQL driver as all the folders Pear created during installation were only read only to me and the web installer didn't have the correct version of the MySQL driver to match the version of MDB2 it installs so a manual install was required.

After a couple of tries I eventually figured out that I had to create all folders created by the Pear installer myself first to guarantee ownership and then install PEAR with the MDB2 option enabled and then manually install the corresponding MySQL driver. A time expenditure I could really have done without.

This doesn't leave me much hope of installing other really useful PEAR modules like Mail or XML-RPC and my search for a small developer friendly host continues...

Tuesday, April 21, 2009

Apache Mod_Rewrite & Shortcodes

0 comments
I'm a big fan of Apache's Mod_Rewrite module. One of its benefits is that it allows me to take quite complex, user and search engine unfriendly URL's and have them mapped to ones which are easier to remember and more search engine friendly.

On a personal project I'm working on currently (I'll write more about it later), I wanted to implement a shortcode system similar to the one used for properties on www.daft.ie where a user simply has to type in a forward slash and a short code after the domain name to view a property, the code being specific to that property. Of course, short codes are also useful for posting URL's to Twitter which will also be a consideration for this particular project.

I decided I would construct my shortcodes from the characters a-k, m, n and p to z and the digits 2 to 9. Characters and digits that are easy to confuse such as 1 and l and 0 and o I discarded. This gives me a pool of 31 characters to construct my 6 character shortcodes from.

Now to map my shortcode to the full URL that displays a particular record from the database I added the following line to my .htaccess file.

RewriteEngine on
RewriteRule ^([^./]+)/?$ /$1.php [L]
RewriteRule ^([a-kmnp-z2-9]{6}).php$ /destination.php?urlparameter=$1 [L]

The first line turns the mod_rewrite module on, the second allows URL's to be reached without specifying the script extension and the third line takes my 6 character shortcode and maps it to the URL which displays the particular record the shortcode represents. This worked fine until I realised that it was also going to catch other URL's on my site with 6 letters after the domain name such as http://www.mydomain.com/search.

I finally figured out a workaround using the following rewrite condition directly before my third rewrite rule above:

RewriteCond %{REQUEST_URI} !^/search.php


Now while this works, it could be a bit of a maintanance issue as I will have to add a rewrite condition for every script I add to my root directory that has a name of 6 letters. I thought about making the shortcodes uppercase to avoid confusion with other scripts but this seems to take from the user-friendliness of the system.

Any regular expression or mod_rewrite gurus out there see a way to write my original third line to distinguish shortcodes from valid script names?

Wednesday, April 15, 2009

Register365 - First Outage of 2009

0 comments
Well, once again Register365 (now Namesco) were experiencing difficulties again this morning, this time with one of the machines providing MySQL services. This outage basically brought down any site using either sql4.hosting365.ie or sql6.hosting365.ie including 4 of mine.

This was particularly annoying as, as back as far as last September while I was working on the Industry Research & Development Group site, I had alerted them to issues with the connectivity of sql6.hosting365.ie (at that point I was receiving many 'server has gone away' messages and some more involved queries were not executing) and only last Thursday reported to them that their instance of PHPMyAdmin was running like a dog.

While the sites were down, although they described the issue on the Status site and gave an assurance that they were working to remedy the problem, there was, as usual, no indication of a resolution time much less the cause why one of their Linux boxes had fallen over.

Top of my list for procrastonated jobs to get done if I start feeling the recession slowdown and get some breathing room is to move all my sites from Register365..

Wednesday, April 1, 2009

The Cost of Confusing Print & Web Design

0 comments
I've been trying hard today to explain to a client in non-techy terms why it is less than ideal to have someone who mainly does print design work on the look & feel for their website update.

Now don't get me wrong here, I think the designer does good work in the print medium and actually I quite like their aesthetic but, when asked by my client how we might go about cutting costs for the site update, I mentioned that in our previous dealings, their graphic designer
1. Was not providing me with PSD files with each graphic element occupying its own well labeled layer for easy slicing and dicing so I was forced to spend time basically digging out graphical elements I needed to implement the design in XHTML.
2. Was causing extra (and otherwise unnecessary) work for me because they had not taken either standard screen size or the size of interface elements such as form controls into account when producing previous designs.
3. Had obviously no eye for adding elements of design that could be rendered via CSS rather than by using graphics thus making the design much less flexible and reusable not to mention a heavier download.
4, Had produced designs in the past with features that were awkward and time consuming to implement in XHTML
and that all these factors were contributing to cost - though, to be fair, probably not as much as the constant revisions of the copy the client made themselves during the last site build.

There are also indirect cost implications in deploying a site that carries usability issues

These are difficult points to communicate to those outside the web design and development fields and I remain unconvinced that I got them across.

Setting Up a Linux NAS in a Vista Workgroup - Things Worth Remembering

0 comments
Why is a freelance web developer setting up a NAS in the course of his work you might ask? Well, basically because I am freelance and my SME clients frequently mistake me for their goto I.T. tech support, sys admin, and spiritual guide when I build a site for them.

Anyway, I have just completed the setup of a QNAP TS-209 Pro II for a client which is a great piece of kit, featuring a file server with user authentication accessible via the local network and the Web, a print server, media server, web server, frp server, backup location, MySQL server etc and which also happens to run Python so is pretty much potentially infinitely expandable in functionality.

The QNAP setup itself was a snap but remembering the following points when integrating it into a Vista based workgroup will definitely save some time and headscratching.

1. Set the workgroup name in the network settings for the NAS.

2. Set up your users on the NAS with exactly the same credentials as they use to login to their Vista machines. Vista has a nasty habit of not remembering credentials otherwise even when you click the 'remember password' checkbox when you first log on.

3. If you need to clear Vista's cache of network credentials at any time use the command:

rundll32.exe keymgr.dll, KRShowKeyMgr

If you use the offline files facility with Vista and login to the mapped drive fails, Vista won't always tell you so you may find that the Vista user doesn't see updates to files on the shared server with no obvious reason as the login failure isn't reported and no opportunity is offered to update the credentials. When you run the above command you are presented with a list of cached credentials for your various network accesable servers and you can remove the ones you want to reset.

3. Use the IP of your NAS rather than the server's name when you map drives from it to your Vista machines. Netowrk discovery in Vista is a nice feature but it can be sloooooowwwww.

4. If you're using your NAS as a print server make sure that the printer drivers are up to date on all client machines.

5. Finally, specifically for the QNAP models, the support forums are an invaluable resource with such diverse topics as getting the optimum disk spin-down control to running a VPN server (yes, I know, not the greatest idea in terms of network topography but some might want to do it) on your QNAP.

Happy networking!