RaspberryPi Raspbian OS image minimised for optical recognition company.

An engineering friend (Shervin Emami) was working on optical recognition softwade for a customer and his project worked well. Shervin asked if I could do the Operating System (OS) optimisation section to get the Raspbian Linux OS  down to below 2Gb for mass roll out purposes. The client had tried to do this himself, but was unable after many hours of trying. It took me several hours and there where a few quirks linked to Raspbian OS, but I finally nutted it out with a successful outcome.

An alternative to online accounting software with payroll.

Following up on my last post I decided to look for some accounting software I could run on my computers or servers. Jam paying for web accessible software if I can’t load it on my own cloud servers. Double entry accounting is not that complex a subject. Neither is payroll and neither are tax rules for small businesses.  I also wanted to be able to access the database behind the accounting software and payroll had to be in there. I started with GNUcash, Quicken, then SQL Ledger. I was happy to pay a fee for support.

SQL Ledger was looking nice, but it’s not a 5 minute install affair. If only they had an apt-get installer. Quicken has evaporated into the cloud. Xero and MYOB just said a flat “NO” to me buying even a binary to load on my own systems. Finally I came back to GnuCash. It’s a bit different, but it’s actually way easier to use. You can download QIF or OFX files from the bank to bring in your transactions and it does automatic transaction matching like MYOB Essentials although you can’t build rules as yet. Then again, the gnu cash method combined with the fact that it runs lighteningly fast more than makes up for it. Now I am tending towards quickly checking transactions as some of the text pattern matches I made (usually late at night when I’m fading) have been incorrect. It has an auto transaction download feature which I’ve yet to set up with the banks. AAAannnnd,, drum roll please,,,, wholly cow, it is able to connect directly to a remote SQL database (Postgres or MySQL).

How bloody awesome! I’ve yet to test the SQL connection, but just the fact that it’s there is good. Because it’s open source there is no rubbish in there. No bells and whistles which a marketing department has asked for. It just works. The only thing is that there is no automated payroll. When you think about it though, for the business with only a few employees, what’s the big deal? It’s pretty easy to ammortise 8.4 weeks of sick leave, public holidays and normal holidays over the other 43.6 weeks of the year.  Super is 9.5%. Tax is just read off the tax tables from the ATO. A spreadsheet and throwing the saved chunks into liability accounts until they come due. No probs. When it becomes more complicated well it’s not too hard to write a web app to automate it if you’ve access to the SQL database in the background. That’s if the people at GnuCash don’t get to it first.

An other thing is the sub accounts feature. You can make hundreds of levels deep. MYOB is only about 4 or so.

I’m not going to say I’m totally sold, but I am testing it from here on in. Watch this space for how it goes as the months pass by. If you want my spreadsheet templates for payroll, let me know and I can make a download page for you.

Online software

Something that I am not comfortable with is the whole notion of online software. When I am writing code, I’d like to think that I am giving the end user something of quality which will be everlasting until a new better technology comes out. If I write some web based software and an end user enters all their hard work into it, shouldn’t they be able to access their work forever more?

With the current model which most coding companies are adopting, it is about renting the software for a monthly fee. If I ask them about using my data say 8 years later, but had stopped using the software, their answer is for me to resubscribe to the service and then I can access my data. But what if 8 years later management has changed and they no longer support the old data structures. Why should I have to pay again to access something that I created?

Also it’s not a capital expenditure whereby, your business pays down the initial outlay and then you can start to make more profit. Yes, I do understand that renting is often more cost efficient or profitable than buying in many situations, but I want the option to choose.

The other issue is that  I have to trust staff in another company that they will do the right thing, or they will know how to do the right thing. Problem here is that the definition of “the right thing” varies depending on who you’re talking to and who holds the keys to the gate., In this situation, if you are not comfortable with their service, you often can’t just fire them without losing your data. Often they will give you your database, but who can read a raw database?

As Matt Mullenweg mentioned in an interview recently, it’s kind of like buying a car whereby when you look in the engine bay and all you see is a black box which you’re not allowed to open, even though you paid for it. Now it’s a level worse in that the black box isn’t even in the car. There’s just a string hanging from some sort of sky hook which you pay a monthly fee for. When you stop paying your monthly fee, the string disconnects.

I understand I.P., but this just does not seem right. For me personally, I am looking for web based software I can host on my own web servers that I build and upgrade. I want an unrestricted licence once I’ve purchased it with a preference for being able to access the source code.

As much as this is a criticism of the current way things are, I have not escaped it. For instance, I do use online software like MYOB essentials, Fusion360 and Workflowy.

MYOB has saved me up to 4 hours per week because of it’s automatic transaction matching, but text matching is not such a complex piece of software to write. I am looking for something else now whereby if I close a particular business and want to see the accounts in 10 years time, I simply load the OS in a VM, install the accounting software and check what I need to. Or even better have it stored on a VM image and just boot it.