Cross-browser compatibility

Cross-browser compatibility
We've got a redesign of the Perl Training Australia website that's in its final stages of testing. Everything seems to be working great until I started compatibility testing.

The site works wonderfully in Mozilla browsers, and reportedly in Safari. It works well in Internet Explorer (MSIE) 6 and 5.5, but without some of the CSS features that MSIE doesn't support. It looks awesome in lynx and w3m (text-based browsers), and degrades nicely in Netscape 4.7x.

The site is horribly, horribly wrong in MSIE 5.0 and 4.01, both of which completely muck up the menus. How long are we going to keep supporting these old, standards-challenged browsers?

Currently investigating fixes, and checking to see how many of our visitors actually use MSIE 4.0/5.0.

Anyone who wishes to check out the new site and provide feedback is most welcome to do so. Either comment on my use.perl journal, or drop me an e-mail.

(read more...)

Business/Life Design

Business/Life Design
It's finally official. After almost four years of providing system administration services, I'm finally out of the game, and this is a joyous occasion. It seems ironic that Perl Training Australia was doing so much system administration, but I had lots of contacts in the industry, and lots of work available to me.

All the SysAdmin work that I was performing is now being handled by Daniel's new business, Digital Infrastructure Solutions. Daniel's been doing practically all the work anyway, but this provides him with many more opportunities to grow his business. Most importantly, it means that I can now work on training and course development full-time.

One of my most startling discovers is that I can now plan my entire life using a Gantt Chart. That's something I've never been able to do before, and I wholeheartedly look forward to it.

We're still in the game of providing specialist development and consulting services, and of course we're doing more training than ever before. If you're used to booking us in advance for development or consulting (rather than calling up whenever your machine has problems), then you'll find little has changed. If you have an espresso machine in your office, then you're especially welcome to keep throwing work our way.

Website Design
Jacinta and myself are in the process of modernizing our website. The old site uses HTML 4.01 and CSS, is built using a batch process, is completely static, and uses colours I can't see. The new site uses XHTML strict and CSS, runs on top of Mason and Class::DBI, and still uses colours I can't see. The new site is almost at the point we can make it live, but I've got a number of usability improvements I still wish to make.

The moral of the story is that if you're going into business, pick colours that you can see for your logo, especially if you're the one who has to maintain the website.

(read more...)

Conference Talks

Conference Talks
Received a phone-call the other day regarding the upcoming SAGE-AU conference. Would I like to give a second presentation in the technical program?

Calls like this always amuse me. Asking if I'd like to stand in front of an audience and talk is like asking most people if they'd like a hundred dollars.

As such, I'm now presenting an additional talk. The topic? "Conference Presentation 101". It will show heavily influences from MJD's presentation a few years back, a few tricks that I picked up along the way, and a good dose of bizzare science.

Paperwork Day
I've been travelling around having a wonderful time teaching. I'm now back in the office and working through everything that has landed on my desk while I've been out. Yes, it's paperwork day.

None of the paperwork is very hard, it's just time consuming. I've had to complete workcover forms, business activity statements, group certificates and payment declarations, dividend and franking accounts, insurance, tax, refunds, and goodness knows how many bills and invoices. Still to come are income tax (two individual, one company) and a few end-of-year adjustments. Bah.

It would be reasonably accurate to say that I've spent this week (and will be spending some of next week) working for the tax department. This does have some advantages, most of our personal income and cash-flow have already been mapped out for the next 12 months.

(read more...)

A very Perlish Sydney

A very Perlish Sydney
I spent the end of last week in Sydney, presenting our Object Oriented Perl course. This is one of my favourite courses to teach, as it covers some very interest concepts, and gives me a chance to really show off Perl's object oriented features.

In the evening of my first day of teaching I got together with members from Sydney Perl Mongers, the Sydney Python Users Group, the Sydney Linux Users Group, Sydney LinuxChix, Open Source Industry Australia, and SAGE-NSW to give my small-business talk. One of the best things about presenting in a pub is the relaxed atmosphere; no doubt assisted by the presence of amber fluids. My talk was well received, with much exchanging of business cards and stories afterwards.

After the meeting a number of members, including myself, travelled to a nearby bar, where salsa dancing appeared to be very popular. We enjoyed some quite spectacular flaming drinks, of which combusting cinnamon was a prime ingredient. I'm hoping to get the photographs that some people took of these — if you took photos at the bar, then please send them in.

Overall Sydney was one of the most enjoyable travelling/training experiences I've had so far. Being able to get together with so many local user groups was fantastic. I'd recommend it to all techies visiting Sydney.

(read more...)

Losing money internationally

Losing money internationally
I deal with banks regularly, and while issues arise from time-to-time, they're easy to resolve once you know the methodology. However yesterday I discovered a situation which cannot be easily resolved. It has to do with international transfers.

Domestic transfers between accounts are quite straightforward. Money disappears from the first account, and arrives in the second. The sending and receiving banks may charge a fee for the service, and if so this appears on the customer's statement. All the money is accounted for, and everyone lives happily ever after.

This is not the case for international transfers, as I discovered yesterday. A customer in Europe transferred payment to our account, and while they sent the correct amount, and paid all the bank fees on their end, $19 "went missing" in between Europe and Australia.

The $19 was not a fee from our bank, instead our bank never received the money. The $19 wasn't taken by the sending bank either, our customer had paid the transfer fees separately. Instead, the $19 was taken by an intermediate bank through which the funds were routed. What we're lacking is a paper trail.

From an auditing standpoint, this is an incredible headache. The sender has receipts showing the full amount has been sent. The recipient has a statement showing $19 outstanding. The recipient is not permitted to trace the funds, presumably for privacy reasons. The sender is allowed to trace, but will be charged a fee to do so, and has no reason to believe that money has gone missing except for the recipient's say-so. Unless this extra work is performed, there is no paperwork indicating the whereabouts of the money. No receipts. No invoices. No statements. Nada. It's disappeared without a trace (apologies for the pun).

This arrangement leaves everyone in a bad state. The recipient is dependent upon the sender executing a trace to complete the paperwork, and without that can feel the sender is trying to underpay their bills. The sender has no good reason to complete the trace, they already have their proof-of-payment from the bank, and can feel the recipient is trying to overcharge them. Nobody wants to actually pay an extra fee for the trace, and even if the recipient is willing to pay for it, how do they transfer the funds without the same thing happening again?

The whole matter could be easily avoided by the banks being able to determine intermediate fees in advance and charge them to the sender; or for all intermediate fees to be forwarded to the recipient, where they appear on their statement. The current situation, where money just vanishes in the middle, is absurd.

For those wondering why this is such a big deal, it comes down to accounting and tax. I need to be able to record why we're not going to receive full payment on these invoices. I need to also have appropriate documentation to show the difference is due to a legitimate expense, both for my own records, and also in case the ATO drop around for a cuppa and a chat.

The worst thing is this is the third time we've encountered this problem, and it's only just become apparent how systemic is it. The first time we thought the customer was trying to underpay their bills. The second time we were able to demonstrate to the customer that their bank had lost the money, as there was no intermediate bank involved. However this third time we're dealing with quite lovely clients, who really thought they were doing the Right Thing, and we're finally educated enough to know what's going on.

My easiest solution is to write the funds off as a bad debt, but to do so I need to demonstrate reasonable efforts to recover the funds. I don't want to bother nice clients over a measly $19, especially when it appears this was not their fault. The whole thing is a customer relations nightmare.

Unless we can find a way around this in future, we're going to have to start insisting our international customers pay by bank draft or credit-card only. I'm sure that other Australian businesses have a way around this, and I'd love to know the secret.

(read more...)

Bitcoin QR code This site is ad-free, and all text, style, and code may be re-used under a Creative Commons Attribution 3.0 license. If like what I do, please consider supporting me on Patreon, or donating via Bitcoin (1P9iGHMiQwRrnZuA6USp5PNSuJrEcH411f).