Many Pies

Many Pies

Thursday, December 17, 2015

From Raiser's Edge to Salesforce

We have been using Raiser's Edge for over 15 years and we are considering a move to Salesforce. We are not the only UK charity to do this. At an event about choosing Finance Systems organised by Adapta consulting I met someone from a large, well known hospital who are moving to to Salesforce too. We are using Purple Vision for initial consultancy and whilst we haven't got their detailed recommendation yet, it looks like we'll be using the Causeview app for the things that RE currently does, and other apps for the things it doesn't do that we want to.

(All the opinions in this blog are my own, btw.)

(As I blogged earlier this year) I remember seeing Salesforce when they opened up the platform a few years ago, so you could create and customise your own screens. It took me back to the days when I was working on Dec Rally, a "fourth generation" programming language, on CRTs with green letters. Define your field type, give it a label, write code to fire to validate it, write code to fire when you move away from the field. All the same stuff, but on a web page. But it's in the cloud! It's the cloud! The cloud is the future! Having seen various buzzwords rise and fall in frequency in the Tech or Charity Tech press I get very bored of hearing about the next new thing (though "the cloud" as a concept is a few years old now). So if Salesforce is a web based (20 years old) front end to a relational database (45 years old), then why is it so good? I think it's because of the 8 year old concept of an App store (as came with the iPhone). There is a choice about which bits of software you mix and match to get what you want.

For the developer wanting to tweak or extend what you get with Salesforce and the apps you're using it's a mixed picture. Salesforce tops the list of Most Dreaded technologies in the Stack Overflow survey for 2015. On the other hand, according to my research seems to show that if you write your own app you can access to Salesforce built-in "objects", e.g. customers or those belonging to third-party apps, e.g. gifts.

The limits look like it's easy to fall foul of them. UK charities should be able to get 10 free Enterprise Edition licenses. That gives you 200 custom objects, which sounds like it means instances of objects, rather than 200 different custom object types. All the other limits seem reasonable, so long as you don't want to store lots of documents on there. For reports and exporting there is a limit of 2000 rows on the screen (although in theory you can export the whole thing) which looks like it means we can only post 2000 gifts at a time. You can only schedule 1 or 2 reports an hour, depending on your edition.

It's early days yet, and my research may be wrong. I'll will blog more as the project proceeds.


Monday, November 02, 2015

Running an Ethereum node on a VPS from Digital Ocean

When I saw an offer from Digital Ocean for $10 credit I thought I'd try and run an Ethereum node on their smallest $5 VPS instance ("droplet") for free for two months. (I had to pay $5 on registration so it wasn't completely free.) I tried to find information on how much CPU usage was acceptable (apart from not "excessive"), but couldn't.

It was pretty straightforward to do. I used an Ubuntu image with node.js. I picked Ubuntu by mistake, when I intended to use Debian, but I'm equally unfamiliar with the differences between all the distros, so it didn't make much difference.

I used the cpulimit utility to limit CPU use to 20% while it downloaded the blockchain. Even so the process died a few times, I'm not sure if that was because it was detected as using much CPU, or ran out of memory. I experimented with the limit - 10% seemed to be too low and it couldn't find peers, probably because it was too slow for the other nodes to talk to. After 30% usage for a few minutes it got killed off, but at 20% it downloaded the blockchain in a few hours. I added swap space part way through, in case that helped.

Once it caught up I limited it to 10% as even though it was only downloading a block every few seconds it still seemed to want to use a lot of CPU.

You can sign up for a VPS with $10 credit here: https://www.digitalocean.com/?refcode=6588d64bda60. To be completely transparent - if you sign up and then spend money with them I get up to $25 for each referral. Other VPS hosting companies are available.

(You'll want to set up a firewall and lock things down a bit, but I'm not going to cover that here.)

Tuesday, October 13, 2015

Ada Lovelace Day 2015 - Lorna Jane Mitchell


This year my Ada Lovelace Day post is about Lorna Jane Mitchell. (The brief: to write about a woman who's achievements you admire.) I appreciate her knowledge of the deep things of PHP, and I mentally file away her blog posts on the subject as "if/when I really get into a lot of PHP this will be useful". She talks at conferences, writes books and makes videos (similarly filed away) and is also involved in the joind.in website. I admire all this sharing of knowledge that she does.

Previous posts: 2014 Rachel Andrew, 2013 Kathy Sierra, 2012 Aleks Krotoski.(The picture comes from Sydney Padua.)

Thursday, September 24, 2015

Cryptography and evil

I was going to write a blog post about mathematical cryptography problems, like good hash algorithms, getting padding right and other juicy problems and contrasting them to social cryptography problems, like trusting keys and blockchain forking. Then I came across this page on Ethereum problems:
While before cryptography was, by and large, a purely computational and information-theoretic science, with strong guarantees built on security assumptions that are close to absolute, once money enters the picture the perfect world of mathematics must interact with a much more messy reality of human social structures, economic incentives, partial guarantees and known vulnerabilities that can only be mitigated, and not outright removed.

That says it better than I could. However I would also have said one of the underlying problems is evil, such as manifested in a 51% attack (that's about one specific attack, but it applies to cryptocurrency generally). Lots of interesting problems to solve!

Wednesday, September 23, 2015

Ethereum - for when you get bored of bitcoin

A couple of years ago I started reading up about bitcoin, and I put some of what I'd found into Bitcoin - digging deeper.... Whilst what the effect that cryptocurrency will have on the world is interesting I'm finding the potential use of the blockchain (simply put - a distributed pretty much guaranteed trustworthy ledger) more interesting.

Recently I've come across ethereum, which is building its own blockchain for use with smart contracts, such as making sure musicians get paid when you stream their music. Now I find that really interesting.

Sometimes the PR side of such projects isn't too great, but that home page is really good at explaining what it's all about at a superficial level. There are lots of levels below that though.

More another day, including using technology to overcome evil.

Friday, August 21, 2015

Facebook featured image on Wordpress blog posts

Someone recently asked me how we could set the Facebook featured image on our blog posts where there are no images. The featured image is used when you share a page on Facebook. It could be used, for example, on a post where you have an embedded video but no images.

I investigated various plugins which would set it by default for all posts, or you could set it in bulk, but nothing that allowed you to say "use this image on this post". I found another way to do it though. By adding style="display:none" just before the / > on the img tag you can hide an image from a post.


Various social plugins, such as Jetpack, will pick up on this and make it available to Facebook, or in technical terms, put open graph tags on it.

Tuesday, May 05, 2015

Salesforce and Computing Nostalgia

The results for the Stack Overflow developer survey for 2015 were published recently. Under the section Most Loved, Dreaded and Wanted Tools the top for most dreaded was Salesforce. I tried the web version of Salesforce a few years ago when it first came out. It reminded me of the time when I was working with was DEC Rally (shockingly there is no Wikipedia article I can link to), a fourth generation language that ran on a VT100 terminal (glowing green screen). Define your fields and layout, define data types, create bits of code to run to validate, when focus is gained, when focus has left. Same sort of stuff with a webby interface rather than 80x25 characters. I can see why Salesforce might be dreaded.

If you want more nostalgia then there are a series of Radio 4 documentaries on programming languages.

Tuesday, March 17, 2015

Moving to Google Apps - our experience

Many other Wycliffe organisations in the Wycliffe Global Alliance have moved to Google Apps, and we decided to join them. Here are my experiences:

Google Apps is free for UK charities, which is an attractive price. However it doesn't mean that it doesn't cost in time. Doing the migrations, plus user training and support all take non-finite amounts of time.

As well as the familiar Google tools, such as Gmail, Calendar and drive/documents, you also get the management interface so you can create and suspend users, turn services on and off and generally manage the stuff.

I've been disappointed with a number of problems that we've had. They are mostly to do with the migration. If you read the forums you find that some of them have been around for a few years with no sign of them being fixed. For example, when you view email that's been migrated using IMAP from Outlook all the dates on the emails are set to the same value. This is because the migration process sets the received date to the migration date. There is a workaround - display the sent date. However, it's a bug - fix it already Google.

There are some Outlook features that are lost when email is synced back to Gmail, but I'm not entirely surprised that Google won't implement features across the board just because Outlook uses them. More information here.

The standard package doesn't include backup so you may want to purchase Google Vault just in case Google loses your email.


If your users already have Google accounts then it copes quite well with multiple accounts in the browser. There are a couple of exceptions - Drive and Blogger require you to log out of all accounts and log into a single one. It's not a surprise that Blogger doesn't do that, as it's a pretty dormant product, but Drive seems like a key part of the offering. Maybe it's being worked on.

On the plus side you do get other Google Apps features, like Drive and Hangouts which are of corporate use. Overall the experience is positive, but if you do decide to switch then allow plenty of time for migration.

Update: I found information about future updates on the Google Apps release calendar and linked newsletters. It looks like there's a fairly healthy amount of work being done on improving Google apps, if not the migration tools.

Wednesday, February 18, 2015

How hard is it to change your email address?

We're in the middle of moving to Google Apps (I'll write on the experience when we're nearer the end). As part of the process we've taken the opportunity to change our email addresses to use the wycliffe.org.uk domain. So I've gone round various websites changing my email address. The process varies from simply changing a field once you've logged in, to a more complex flow involving verifying the new address. Some sites I couldn't change it, so I had to contact someone to do it by hand.

Some sites have the email address as the username, but you can't change it. I think this is just badly designed. It's not unusual for people to change emails, or for anything that might be work related, for a different person to take over a role. When the old email that hangs around is for someone who has died it just looks bad.

So when designing your site login system, consider how easy you want to make it for someone to change their email address.

I saw a post on a blog, I can't remember which, where someone had wanted to change their email, or retrieve a password on their own site. They were surprised how poor the experience was given the amount of effort they'd put into other parts of their site. Let me know if you've come across that post too and I'll link it here.

Tuesday, February 17, 2015

IT and Bible translation

An article I wrote on IT and Bible Translation has been published on the Kingdom Code blog. Andy Geers approached me a while back and asked me to write it. I'm just waiting for a flood of email to my inbox now.