Many Pies

Many Pies

Tuesday, June 26, 2018

Morriss' law(s)

I recently came across a couple of lists of software development laws:
The eponymous laws of software development
Laws of software development

I may or may not have publicly stated Morriss' law:
Every site/program/app attempts to expand until it resembles Twitter
See Facebook, Skype, Confluence

However on one of those lists I cam across:

Zawinski’s Law

This law addresses software bloat and states…
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.


I was going to state Morriss' second law, which is like the first one, but has "until it has Stories", but I think there's Morriss' greater law at work here, which is something like:

If they copy you, you're doing something right.
 There's probably a better way of saying it though.

Friday, April 20, 2018

Free Salesforce postcode checker

While you can get Salesforce apps that check postcodes for you, here's a bit of Javascript that will check a UK postcode for you using the postcodes.io API and tell you if it's valid or not. It's not clever enough to suggest what the postcode might be, but then it is free.

Create a new button on the Contact object (Display Type: Detail Page Button, Behaviour: Execute JavaScript) and put this javascript on it:

{!REQUIRESCRIPT("/soap/ajax/20.0/connection.js")} 
var postcode = '{!Contact.MailingPostalCode}'; 
if (postcode != '') { 
postcode = postcode.replace(' ','%20'); 
sforce.connection.remoteFunction({ 
url : 'http://api.postcodes.io/postcodes/'+postcode+'/validate', 
async : true, 
cache : false, 
method: "GET", 
onSuccess : function(response) { 
if (response.slice(-5) == 'true}') { 
alert('OK'); 
} else { 
alert('Wrong - check using https://www.royalmail.com/find-a-postcode'); 
} 
}, 
onFailure : function(response) { alert('ERROR: '+response); } 
}); 
}
For the Account object use
{!Account.BillingPostalCode}

or
{!Account.ShippingPostalCode}
as appropriate.

Wednesday, September 27, 2017

Technology needs lights

(Crossposted from my non-techie blog because I put it on the wrong one to start with.)

Computer lights
This is part of an IBM mainframe that I saw at the Science Museum in London. It's hard to imagine that anyone ever understood what they all meant. I think the reason there are so many lights is because there is so much to go wrong. The lights show when something's working, so no light means failure, or when something fails. These days the FLP BFR (flip buffer?) always does what it's supposed to, so we don't need to have a light for it.

I remember when modems had a full set of lights: TX, RX, DCD, DTR and so on. I also remember using them to try and work out why connections weren't being made. As they became smaller and sleeker they had just a couple of lights to show activity. Then they disappeared altogether.

We need lights for things we can't rely on. Once it's reliable the lights go away. Today I was re-reading the essay from Douglas Adams, "How to Stop Worrying and Learn to Love the Internet", written in 1999 (I wonder if that distinguished journalist still things the Internet is a fad). Quoting the computer scientist Bran Ferren he says, "Technology is stuff that doesn't work yet". Douglas illustrates this: "We no longer think of chairs as technology, we just think of them as chairs".  So my corollary to this is technology needs lights. Chairs don't need lights.

Thursday, August 03, 2017

Raiser's Edge to Salesforce/Causeview part 2 - going live

It's been a long time since part 1 and we've now gone live with Salesforce and Causeview. I may do another higher level post, but here are some low level thoughts. (Ivan Wainewright has a good post on all the roles you need in your team. As you'll see I commented on it.)

Limitations

One of the attractive things with Salesforce is that you can add fields all over the place. However as you dig deeper you find limitations, such as the fact that you can't add custom fields to Notes, even though the idea has been around for years (good to see it's in "product review" though). In some ways it's like being back to the good old days of Lotus Notes, where you could create new fields really quickly, though fortunately there is a bit more rigour involved than Notes had when putting them in.

If you use a managed package, aka "app" then fortunately you can add fields to their custom objects, which we've made good use of. You can't rename their fields, though here's a tip: use "translations" to override them.

The "classic" interface is two generations behind the latest UI aka "Lightning". The previous generation is VisualForce and you can't change the layout of VisualForce pages, so already things are being locked down for the sake, presumably, of better functionality and preventing people really mucking things up.

Tools

Apart from the standard Salseforce tools I recommend:
  • The Good Day Sir podcast is a useful source of information, though quite long. It has it's own Slack. (Is that a noun in it's own right?)
  • DemandTools has a good range of data manipulation tools and is free for non-profits.
  • Jitterbit data loader has some powerful mapping tools for importing data. 
Purple Vision, who helped us implement Salesforce/Causeview, has unfortunately undergone voluntary liquidation.

Wednesday, November 30, 2016

I made an iPlayer radio thing

The BBC iPlayer radio app is going to stop working in January on iOS7. I understand the overhead in supporting multiple platforms, so I'm not going to complain about that. The iPlayer will still be available on the web though.

I general listen to iPlayer radio while I'm washing up, which is around 6:30-7:30. I generally miss the start of the Radio 4 6:30 comedy slot, so I often listen to the previous working day's programme instead. In order to speed navigation to the previous day (or the one before that) I've made this page which will take you to the evening schedule for 1, 2, 3, or 7 days in the past. Enjoy.

iPlayer Radio 4 on previous days

Wednesday, November 16, 2016

My decade on Twitter

Inspired by Jeremy Keith's post A decade on Twitter, I'm doing my own. My first tweet was in July 2006, with a 4 digit id, but so much less interesting than Keith's:

Since then I've gained a large proportion of spam followers, many of them seemingly from Turkey, for no reason I can discern. I've seen what felt like a clubhouse turn into a commercial establishment, with adverts all over the place. I understand that it takes money to run, but after it ran with for many years at the start without adverts, they seem to have taken over relatively quickly. Part of it is the fact that I no longer regularly monitor my two lists ("work" and "play") which have all those I follow on them. As lists don't seem to have adverts the switch to the Twitter app brought a lot more to my attention.

See also, written 7 years ago, Twitter is big, which has subtle boasting about my early adopter status, and also when I heard it mentioned on radio. Another thing I remember from the early days, is when people were saying "there's a real celebrity on here - Wil Wheaton". It was such a geeky thing that we were surprised that someone famous would want to use it. Hard to imagine now, eh?

Tuesday, August 23, 2016

Internaut day - 25 years ago I got onto the web

25 years ago I heard about this program from a USENET newsgroup called Mosaic. I downloaded and installed it. As they say: Mind. Blown. All the pages had a grey background. The images would download one by one, and you could see each line of pixels loading. A later version would download the pictures simultaneously.

I remember downloading a quicktime movie of a jet powered sledge. It took ages, but it was groundbreaking.

Someone once asked me about the difference between the web and the internet. I didn't give a very good answer, but since then I've though of a good analogy: we had roads (internet) before we had cars (webpages). Other traffic travels on the roads like horses (FTP) but it's mostly cars (webpages).