Archive for the ‘OSS’ Category

Patent madness!

Sunday, September 14th, 2008

Microsoft has just been granted a patent for software behaviour associated with the Page Up and Page Down keys.

Upon reading through this dociment it would appear that they have patented a certain behaviour that may be useful and is currently not being implemented in software. At least not to my knowledge.

Reading through any patent and trying to come to grips with the legalese and obscure writing style isn’t easy but I’ll try to explain my take on this below.

The grey areas represent pages and the black represents the view on screen.

The patent proposes that if the user is on Page 1 and presses Page Down they will be transported to the same section on Page 2 and visa versa with Page Up.

Now I have to ask; If this is what I’d expect when pressing these keys or would I, as a user, expect the view to simply slide down page 1? (third image)

The idea itself isn’t too bad, however, I would rather see the proposed behaviour implemented as a modifier to the keystroke leaving the current expected behaviour in place. The Shift key would make sense as you would be shifting the view and not the page. If I believed in patents I’d run off the the patent office right now as this makes more sense to me.

As far as I’m concerned these patents are stupid and software patents are evil. They stifle creativity and turn software development into a minefield for all developers. End users suffer too as developers can’t implement functionality due to patent restrictions. It’s time we put an end to software patents!

With the world in so much trouble isn’t it time we dispensed with these patents and shared knowledge for the betterment of all?

High Tech Push me, Pull you

Tuesday, September 9th, 2008

The battle is on for your data.

On one side we have the cloud people, Google, MP3Tunes and Salesforce.com to name a few all wanting us to trust them to mind our important information.

On the other we’ve got hardware stalwarts like Dell and Asus shipping the latest exxx… pc’s. Computers designed from the start to store their data in the noosphere.

Were does that leave us? Where will we keep our data? And at what cost?

Go and buy yourself a Linux server and take charge of your data and your life.

diff Google Chrome and Chromium

Saturday, September 6th, 2008

As most of you will know Google released the Chromium browser, the Open Source version of Google Chrome, about four days ago.

Do we now have 2 new browsers to consider or just one?

I went looking to see if I could find the the differences between these two browsers and couldn’t find any answers.

Admittedly it’s early days for both but it still begs the question and I’m sure there are discussions going on out their about this so I’ll throw a few of questions into the mix.

Will Chromium be the poorer cousin of Google Chrome?
If Google wants to evolve the browser then why have two?
Why not just release Chromium and put all the resources there?

Google Chrome – A step closer to the end of the Desktop!

Wednesday, September 3rd, 2008

The new web browser Google Chrome and the advances in browser technology we’ve all exprienced over the last few years are all pointing to one thing. The end of the desktop operating system as we know it today.

The end of the Desktop? Never! Won’t happen! - Yes it will - and here’s why.

From a users perspective the Desktop OS, in all it’s manifestations has always been an overly complex environment that replicates everything that’s wrong with the physical desktop. Clutter, disparate non-interactive applications and proprietary data silos and document formats hindering the user at every turn are just some of the problems we face.

From a developers viewpoint building cross platform applications has always been fraught with problems. If locating reliable cross platform libraries was the only issue none of us would complain - but having completed an application only to have it break when a target OS is updated is simply no longer an option. Development is a costly endeavor in time, money and sanity.

Environmentally; consuming 500 watts (or more) to power that behemoth under the workbench simply to run a desktop OS is ridiculous and wasteful when a 30 watt thin client running a browser can provide everything a user would need.

The future is here – and it is the browser.

Most web browsers, with the notable exception of Internet Explorer, adhere to open standards and pave the way to universally accessible applications, new ways of working, communicating and collaborating - irrespective of the operating system and hardware platform. When viewed as a universal client a web browser opens the doors to an unlimited future for users and developers alike as they work equally well on the Internet as well as the corporate Intranet.

The current crop of web applications are pointing the way forward and innovations in the Open Source world like Firefox and Google Chrome are the drivers. They aren’t quite there yet but the innovations we are seeing and the speed to market of new ideas and applications are a direct result of open standards, open collaboration and the humble web browser.

The desktop OS isn’t dead yet but it won’t be long before we are reading the obituaries.

Will Google Chrome spell the end for the other browsers?

I don’t think so. The cross pollination that occurs in the Open Source world will see new ideas poping up in all the browsers. The only losers will be Microsoft and other closed source vendors.

The real winners will be you and me.

Three weeks of hard work

Saturday, July 8th, 2006

The End-Of-Financial-Year is usually a very busy time for me and this year was no exception. I generally spend my time assisting clients to snapshot their financial data and prepare for the new fiscal period. This year, however, proved to be really challenging.

On top of the usual EOY jobs I had two clients who needed a few extras and they wanted them by July 1. I had 21 days to develop these solutions and sleep wasn’t to be an option.

The first client had received notification from the ATO (Australian Tax Office) regarding a new Excise that was to be charged on certain products from the 1st of July onward. They were in a panic as this new excise was to be accounted for per litre before GST and they had no way to do it.

The second client wanted to streamline the generation and delivery of customer statements. Statements had always been printed and then either posted or manually faxed to the relevant recipient. What the client wanted was for these documents to be routed directly via either e-mail or fax with the option to print them if needed.

Challenge #1 – Excise and GST.

This was to be the most invasive set of changes I’ve had to make to my old DOS based accounting system since the introduction of GST. This new excise had to be calculated to 5 decimal places and to further complicate the issue certain products containing a percentage of excisable product also needed to be catered for. If this wasn’t bad enough the excise was to be added to the price of goods prior to GST.

After several discussions with the client I set down to work. These changes affected stock control, invoicing, debtors, sales orders, creditors, supplier orders, the general ledger and all transaction and history sub systems. End of Month processes were also affected. By far the simplest part was adding an excise rate and excisable percentage fields to the stock record. Making sure there were no rounding errors was a real headache.

The finished product went in on the 28th of June for testing. A few small adjustments were made here and there over the next couple of days and the project looks like it is working as required.

The only difficulty remaining is solely on the shoulders of the client. The excise has to be remitted to the ATO within 7 days of supplying the goods. The clients average trading terms are 30 to 45 days. The challenge they face is purely cash-flow related. I wish them well.

Challenge #2 – Generate and route PDF documents.

Allan from Office Choice wanted to be able to e-mail or fax customer statements at the end of the month as this would save time and money.

Firstly I had to find a way to produce PDF documents from my DOS based accounting system. Secondly I needed to be able to send them to either an e-mail address, a fax number or to the printer. Allan wanted the system to make the appropriate choice based on certain criteria and also needed to be able to override the destination if and when necessary.

The original statements were written specifically for a HP LaserJet printer which meant they were not easily converted to PDF let alone routed anywhere other than to a printer. I also couldn’t create PDF’s directly from within Equity.

To solve the problem I created a new statement processor within Equity to produce an XML representation of the document that would later be interpreted by another process. The XML document contained the usual data for the statement plus a simple header which controlled where to send it once generated.

The logic to control the destination went something like this:-
If the customer has an e-mail address then use it. If no e-mail address but has a fax number then use that. If customer has no e-mail address or fax number then print it.

The next stage was to monitor the output directory looking for XML files to process. I wrote a Python script that monitored the directory via pyinotify that would react once a file was closed. Once a new file was detected the script would read the XML file and build a PDF using pdfgen which is part of the piddle library. This all went very well and within a few hours I could produce PDF statements on demand. Well it worked on my development machine at least.

It didn’t work at all on the server where it was to be used. The server didn’t support the inotify mechanism as it was running a 2.6.9 kernel and we needed a more up-to-date version. I mentioned my problem to Ned from Mad-For-IT and he pointed me to a more recent kernel build that solved the problem.

Sending the resulting PDF to an e-mail address was easily solved with Pythons email and smtp libraries. With e-mail out of the way all that was left was fax and printing. Installing Hylafax on the server solved the fax problem and using the GPL version of ghostscript to convert PDF to PostScript rounded out the solution.

The finished product was installed on Friday June 30th and later that same day the customer statements were sent via the new facility.

Over the weekend I made additional changes to Equity and extended the program to produce customer invoices, supplier orders and EFT payment advices.

The time savings alone have made these changes worthwhile. They save money in postage and handling and within a few months will have saved a tree or two as well.

The downside? Now that Allan is no longer running back and forth to the fax machine he has more time on his hands to dream up even more challenges for me.