How I Make Minecraft Fun

The following is written by my 9 year old son for his public speaking project at school:

“Hello. I’m going to talk to you today about how I make Minecraft fun.

I learn how to make Minecraft fun by watching YouTube videos, seeing how they do it and copying it onto my own worlds. If you watch YouTube you should definitely watch these people – DanTDM, Thinknoodles, and Stampy.

From YouTube I learned about mods. Mods is short for modifications and is anything that changes the Minecraft game.

Pixelmon is a Pokemon mod for Minecraft. It turns Minecraft into a Pokemon game. In Pixelmon the three starter Pokemon are the same as the Pokemon programme – Charmander, Squirtle, and Bulbasaur but there’s also one more, called Eevee and it has four different forms that it evolves into – Jolteon, Vaporeon, Flareon and Umbreon. In Pixelmon, not like the show, you can get all types of balls including the regular pokeball.

You can also add skins to Minecraft. A skin is like an outfit for your character. There are all sorts of Minecraft skins but my favourites are the Boxer Steve and the regular Alex skin. The Alex skin makes you faster and Boxer Steve makes you stronger and gives you the speed and agility. All of them together make the ultimate player.

You can also make mini games in Minecraft. A mini game is like a challenge but a game at the same time. If you want to have fun, invite friends to play with you. I’m making a mini game at the moment. I use fire charges and a dispenser and a chest underneath the ground to make it harder. I fill the chest with diamond stuff like armour and swords, ender pearls and an enchanting table. I attach red stone to every dispenser and put pressure plates everywhere and use a little bit of TNT. In my minigame we try not to get hit by the fire charges, find the chest, and when we do, run for our life.

I hope you now know how to make Minecraft more fun by using mods, skins and mini games.

Thank you for listening.”

How to Install Minecraft Mods

Buy and install the PC version of Minecraft. This is the best version for mods. Even though I had the xbox version and the tablet version, I still needed to buy this. They don’t even link together. But it was still worth the money, because of the added fun from mods. You buy it here. At the moment it costs £17.95. With this you can download the software and you get a userid which allows you to run it on a few PCs, but not concurrently, and not to easily share worlds between the PCs with the same userid.

Next you need Forge. You download this from here. There are different versions of Minecraft. The latest one is 1.8. However I’ve found that most mods work on 1.7.10. So select 1.7.10 and select to download the recommended installer-win. Be careful not to click on the ads that say “Start Download” etc. Run the client version of it. Later you might also run the 1.8 version etc to add other mods.

Start up Minecraft. Log in and edit your profile to use the 1.7.10 version. Have a quick game on that version to get the directory files set up. Then restart it and switch the profile to Forge. Edit the Forge profile to use the 1.7.10-Forge version.

Now you need the mods. The best and safest way to get these is to take advice from DanTDM on youtube.  Watch his video reviews of mods and choose one that you want. In the information section below the video click on the “SHOW MORE” button. This will bring up a line saying something like “► Get this Minecraft 1.7.10 Mod” and a url which you should click on.

Now comes the hard bit. You need to find the right download, rather than clicking on all the ads which also say “download” but are to things that you don’t want. Click on the download button.Often you will be taken to an page. This is an advert that pays for the development of the mod. Don’t be tempted to click any links on this page. Just wait for the five seconds until the button changes on the top right corner to let you click through to the real download. Hopefully it will allow you to download a .jar file. If it’s an .exe then steer clear of it. If it’s a .zip file it might be ok, you’ll need to open it carefully and make sure there’s nothing dangerous inside, hopefully just a .jar file which you can extract. Some mods will have a couple of jar files as if they’ve written multiple modes they may have put common code in a shared library. If you don’t trust it then don’t take the risk. There are plenty of other mods which are just as fun and not risky.

You’ll need to put the mod in the mods directory. On my PC this is at “C:\Users\Sam Garforth\AppData\Roaming\.minecraft\mods”. You may need to change your settings as it may be a hidden directory.

Then just click the play button on Minecraft and enjoy they game, following DanTDM’s advice on how to play it.

Here are the mods that we’ve tried and like and which work. I’ve tried to remember the urls but I may have made a mistake somewhere, so they’re not guaranteed to be the right ones but I’m pretty sure they are:

Some mods work together but some don’t. So you may have to store them in a separate directory and move them in and out of the mods directory as needed. If you create a world using a mod and then remove the mod then the world won’t work, so create different worlds for different mods.
I hope you find this useful. I’d be interested in any comments on improvements for this write up or comments on the individual mods.

A Simple Introduction to the Architecture of Salesforce Platform Encryption

The architecture of the Salesforce Platform Encryption solution is described here.

I thought I’d have a go at writing a simplified version in a way that’s easy for me to understand, starting with the encryption of the data and then moving out to key management.

Encryption Basics

In this post I’m going to assume a certain amount of knowledge about encryption but let’s start with some simplified basics.

Symmetric encryption is where you have the same key to both encrypt (for privacy) and decrypt the data. This is the fastest way to encrypt/decrypt but it is also the easiest to crack and if you lose the key then you’re in trouble e.g. if you encrypt something with the key and someone else wants to decrypt it then they need to have the same key and then there’s nothing to stop them imitating you.

Symmetric Encryption

Public key encryption (PKI) addresses this issue using key pairs. The key that does the encryption is different to the key that does the decryption. The key that does the encryption (the public key) can be made public, anyone can use it to encrypt but only the holder of the other half of the pair (the private key) will be able to decrypt it.

Public Key Encryption

The same public key technology can be used for signing (for authentication). Someone can use their private key to sign something and people with the corresponding public key will be able to verify that the sender used that private key. Public key encryption is sometimes called asymmetric because the encrypting/decrypting keys are different.

Public Key Authentication

Asymmetric security is more secure than symmetric because you don’t have to share the encrypting key and it takes longer to crack but it also takes longer to encrypt and so sometimes the performance impact can be too high. So, typically, a combination of the two is used. The symmetric key is used for the encryption/decryption but its distribution and storage is protected using the public key technology.

Salesforce Security

Salesforce has always been a very secure platform, using a range of services such as encryption of the data in transit, two factor authentication, verification of login address, profiles, permissions and penetration tests. They are now adding to this a new feature called Platform Encryption which allows customers to optionally encrypt some fields at rest i.e. while they are stored in the Salesforce database.

How does Salesforce Platform Encryption Work?

Salesforce uses a symmetric encryption key to encrypt the customer data that it stores. (The symmetric encryption used is AES with 256-bit keys using CBC mode, PKCS5 padding, and random initialization vector (IV).) The symmetric mode gives the performance benefit but means that the key needs to be closely protected. For this reason the Data Encryption Key (which is also the decryption key) is never transmitted or even written to disk (persisted). It is created/derived in the Salesforce platform and never leaves. It is created in a component of the platform called the Key Derivation Server.

Platform Encryption Architecture

So this brings us to the question of how is it created, and how can we ensure that it’s the same when it’s recreated to do the decryption? Also, given that this is a multi-tenant environment, what is the customer specific component? The answer is that the encryption key is derived/created from a combination of a Salesforce component and customer/tenant specific component. These are called secrets. Sometimes they are also referred to as key fragments.

The encryption key is generated from the master secret (Salesforce component) and the tenant secret (customer component) using PBKDF2 (Password-Based Key Derivation Function 2). The derived data encryption key is then securely passed to the encryption service and held in the cache of an application server.

Key Derivation Server

The Write Process

So, to write an encrypted record, Salesforce retrieves the Data Encryption Key from the cache and performs the encryption. As well as writing the encrypted data into the record it also stores the IV and the id of the tenant secret.

The Read Process

Similarly, to decrypt the data Salesforce reads the encrypted data from the database and if the encryption (decryption) key is not in the cache then it needs to derive it again using the associated tenant secret, and then it decrypts using the key and the associated IV.

So, we’ve established that the data can’t be accessed without the data encryption key and that this key can’t be accessed without the master and tenant secrets, but how do we know that the secrets are secure?

Generation of Secrets

Remember that for this discussion, there is one master secret for Salesforce itself, and a tenant secret and key derivation server for each customer. Actually these secrets are regularly replaced, which is why we need to keep their ids.

The master secret is created by a dedicated air gapped HSM. It is then encrypted using the key derivation server’s public key (tenant wrapping key) and signed with the HSM’s private key (master wrapping key) and transported to the key derivation server where it is stored.

Master HSM

The tenant secret is created on the key derivation server, with a different HSM. This is initiated by the customer who connects using their usual transport level security. It is then encrypted with the tenant wrapping key (public key) and stored in the database. The tenant secret never leaves the key derivation server and can only be accessed using the tenant wrapping key private key which also never leaves the key derivation server.

The Transit Key

A unique transit key is generated on the a Salesforce Platform application server each time it boots up. The transit key is used to encrypt the derived data encryption key before it’s sent back from the key derivation server to the encryption service. The transit key is a symmetric key but itself is encrypted with an asymmetric key, created by the master HSM, to get it to the key derivation server.

That’s Enough For Now

There’s a lot more that can be explained. There are more keys for more parts of the process. There are more distribution processes, and processes for updating the keys and keeping the system working using updated keys. There are processes for archiving data and keys, and for destroying the archives. But for now, I think I’ve understood enough to be comfortable with the way platform encryption works and the extra layer of security that it provides. Please let me know if you spot any glaring errors. For more detail please see the original document or suggest future posts.

My Thoughts on Songwriting and Pop Song Structure

A pop song is supposed to carry the listener.  It is supposed to instill emotion into him, to take him on a journey.  In my opinion the most important thing is the structure.  Obviously you can say that you shouldn’t stick to rules, and rules are made to be broken which is perfectly true.  Records that make it are usually ones with a difference (interesting chords, new sounds, clever lyrics) but they can’t be completely different they have to comply in some way with what the listener expects.  You shouldn’t try to break rules before you know what they are.  Music is about psychology, about knowing what the listener is expecting and how to manipulate their emotions.

The average successful pop song is 3 minutes 20 seconds, has 120 beats per minute, and has structure intro, verse, verse, chorus, verse, chorus, breakdown, chorus, chorus, chorus.  You can vary this.  I prefer songs that are slightly faster.  120 bpm is the speed to get girls in white stilettos dancing around handbags.  You can make it faster and people like me or people on ecstasy will like it more, or you can make it slower and people on cannabis will like it more but either way it will probably result in a drop in record sales.

So you have to decide what market you’re going for. My order of priority is

1) It fills me emotion when I hear it

2) Lots of people will like it

3) I can dance to it

4) It is original

English: The Beatles wave to fans after arrivi...

English: The Beatles wave to fans after arriving at Kennedy Airport. (Photo credit: Wikipedia)

Decide what drug you’re aiming at. If you’re into cannabis the chances are that you’ll like a song that drags on and on and doesn’t actually go anywhere. If you’re into ecstasy you’ll like a song that loops pretty fast and goes on forever as you’ll have forgotten what came before within a few seconds. Both the Beatles and the Jesus and Mary Chain have said that they’ve tried writing and recording songs when under the influence of drugs and when they’ve listened to the songs while sober they think they’re terrible. Both recommend drugs as a form of inspiration but that when you actually write you should be sober.

So let’s discuss the structure of a song.  First we need to define ‘up’ and ‘down’.  Going up raises the listeners emotions and going down lowers them.  The best way to do this is with the music.  The standard chords used in pop songs are I IV V. I know there are others but for the sake of simplicity let’s just talk about these.  For example in the key of C the chords would be C, F and G, the first, fourth and fifth notes in the scale.  A song usually starts on chord I where the listener is comfortable, their position of equilibrium.  Chord V is usually the place where they get excited and feel good.  Chord IV is used to lead them on and to prepare them so they’re ready for when they get to V. Obviously this is just a generalisation but we’re starting from the most traditional place as that’s where pop music itself came from.  So the chords of a 12 bar blues song (which doesn’t have a chorus per se but still fits with what I’m talking about) are I, IV, I, IV, V, IV, I. In other words you start from the position of equilibrium and make a couple of attempts to get to the position of happiness, the fact that it takes a while makes the final achievement even better and then you gradually come back down again only to do it again.  Right that was an explanation of 12 bar blues now let’s get back to modern pop music again.  (An example of pop music chords is that the verse is I IV I IV and then the chorus is V IV V IV.)  As I was saying the best way to control the listener’s emotions is with music but there are other ways.  You can gradually introduce more instruments, often at higher octaves.  Bands such as Primal Scream do this.  They take loop or verse or chorus and nothing else they just play it over and over again introducing and removing instruments to take the listener through the 3 min 20 secs of stages that I’ll describe later and it’s an adequate thing to do but personally I find it unsatisfying in the end.

Manic Street Preachers live in London

Manic Street Preachers live in London (Photo credit: Wikipedia)

The majority of successful bands, even ‘guitar’ bands like the Manic Street Preachers use the music to carry most of the emotion and then introduce things like strings at the end to sustain the song a little longer, to raise the emotion a little bit more.  Another way to sustain the song a little longer is to raise the key, so instead of playing CFG you start playing DGA or FCD.  This is often done in Bros songs and in ‘My Girl’.

Primal Scream

Primal Scream (Photo credit: Wikipedia)

The actual structure of a song should do things to the listeners emotions on a bigger scale but similar to what I described above for chords.  The minimum you need for a song is a verse and a chorus (unless it’s 12 bar blues).  You might say that Primal Scream can get away with just one but they only just get away with it.  A band trying to break through has to be better than that.  You might think you need a middle 8 (a completely different tune in the middle).  You can have that if you want but it hasn’t been used much since the sixties.  The listener isn’t really expecting it and as I’ll explain in a minute even though it’s probably a good middle 8 in itself it actually spoils the song.  If you’ve got a good different tune then save it and build a new song around it don’t waste it.  The chorus is the up bit and the verse is the down bit.  The chorus is what the audience wants to hear and the verse is what you use to make them wait, to introduce desire and to explain the song with some lyrics so they have something to think about so the emotion given by the music means more.  A chorus should have a good hook that the audience can learn quickly and sing along with. By the end of the first hearing of the song they should know the chorus and they should want to hear the song again.  Songs based on a simple loop have the problem that the listener doesn’t feel that he has moved anywhere so although he may have like hearing the song he doesn’t need to hear the song again.

So this is it. This is the structure:


All of these horizontal lines must be joined together by smooth lines. Their positioning depicts ‘up’ and ‘down’ as described above. This is the most important thing. The order of chorus and verse etc don’t matter, or the order of notes or chords or instrumentation but what does matter is that you take the audience through this journey of emotion. You might argue and say some records don’t do it but 99% of songs in the charts do it and I would expect that 99% of the songs you like do it. If you do something different to what the audience expects they’re just going to say ‘what the hell was that!’. You probably won’t understand why because the song will do exactly what you expect as you’ll know it but if they don’t know what to expect then this is what they’ll expect. You may say that your song is better and that they’ll like it more when they’ve heard it a few times but at the starting point of a band’s career the fact is that they won’t hear it more than once. In fact on tape they won’t listen to the whole song at all. They’ll listen to the first minute and a quarter or so


and then when it goes to its first repeat they’ll wind it on to breakdown (the most ‘down’ part of the song). If it doesn’t have a repeat (if the chorus goes on too long or if it introduces a third and superfluous tune) then you’ll be starting to lose them. So they’ll listen to the breakdown to see what the rhythm track’s like (just like they’ll listen to the start to see what the singer’s like) and then they’ll listen to a few choruses. If there aren’t enough the listener will feel cheated, if they don’t build up or if there are too many then they’ll feel bored.

So you start with the intro. This is optional. The Jesus and Mary Chain often completely miss out the intro and just leap straight into the song. There are various problems with this. Firstly, when playing live it is very difficult to get all instruments to start playing simultaneously.  Secondly you lose 30 seconds off the length of the record.  You do need the song to be as long as possible as you need the time to get the listener interested in your song and to get it fixed in their head.  Also you get paid by the minute when the song gets played on the radio so the longer the better as long as you keep it interesting. Songs of half an hour are OK if you can keep them interesting but it is hard enough to keep a verse and chorus interesting for 3 minutes 20 sec let alone half an hour.  The intro can be a stripped down instrumental chorus to give them a taster and make them wait but don’t blow it all at once.  Alternatively it can be based on the verse, an instrumental build up to it, but don’t make it too long or they’ll get so used to the music that by the time the singing starts they won’t be listening to it they’ll just be singing the rhythm track and they’ll get very bored.  The music and singing should complement each other. Even if you play a solo over an intro verse which you may think would stop them getting bored with the rhythm track they’ll lose track of where they are in the song and just get disoriented.  They’ll be so into it that they won’t want to settle down and listen to a nice ‘down’ bit of singing.

The next bit is the first verse. This is usually quite simple or held back in the instrumentation for instance the guitar chords won’t ring on or have notes played between them, the drums will not use something e.g. snare or hi-hat so the listener concentrates on the singing.  The music for the verse is not really important in itself although obviously it should be good and have a certain shape to it (usually a IIVI kind of thing).

Next is the second verse.  Establish the tune of the verse, have some more lyrics to give it more intellectual content and let the music go a bit more but still making them wait for the excitement of the chorus.

Next is the chorus. This is the hook. This is what they’ve been waiting for. Don’t try and get any complicated sentences across. The best ones are things like ‘hello, I love you, won’t you tell me your name’. This is really short and yet conveys so much.  Because of the way it scans and the music behind it the listener starts singing along with it long before they understand what it means and yet it is particularly good because it does mean something.  When the listener thinks about it on the 100th hearing they’ll get renewed interest because they’ll realise it has more depth to it than they originally thought and then they’ll go back and listen to all the lyrics again.  The chorus is usually the title.  The title could be something completely different but if someone hears the song on the radio without hearing the title they’ll go to the shop and ask for ‘hello, I love you’, for instance and the shop assistant will say ‘no, we’ve only got ‘made-up name’ and the listener will say ‘I’ve never heard of that’ and go away again.  Similarly if two people are discussing a song one will say ‘what did you think of ‘made-up name’ or even if you just look at the cover and ask yourself the question you won’t be able to remember the song but if you can hear the title in your head with its associated music then you’ll start singing the rest of the song too and you’ll know exactly what it is.  Sometimes people are attracted to a song because of its title because it means something to them already so it won’t take 100 listens to hear the words ‘hello, I love you’ but that still leaves the rest of it to hear.

As I said earlier the chorus should be more up than the verse. So the chords should be higher. If you feel that you’ve used up your quota in the verse then raise the key for the chorus. It should also be more up in that it can have crashing cymbals and may have backing singing (there can be a certain element of backing singing in the verse, but preferably not the first verse, but make sure you don’t use it all up so you have nothing to raise the chorus above the verse).  Backing singing is not only an extra instrument to raise it but it also strengthens the singing making it easier for the listener to latch onto it and get the idea that they’re supposed to sing along.  This should only be one verse long or if you wanted to do it after the first verse then it should only be half a verse.  Musically you may find it necessary to have a bridge between the verse and chorus.  This is perfectly OK as it gives the feeling of building up even more (coming back down shouldn’t take so long though).  The most important thing to remember is that the music is the most important thing.  Don’t add extra song sections to elaborate on the lyrics as the listener won’t hear many of these on first hearing and you want to make sure they do hear it again.

Next a verse again. This can be a go-for-it verse. As much backing singing and guitar riffs as you like as we won’t hear the verse again in the song and due to the music it still won’t be able to compete with the choruses. There’s no harm in repeating the first verse if you’re stuck for lyrics, in fact this may even be better as repetition helps get the listener into it and singing along as soon as possible. While I’m on this subject it’s OK to have a verse that has the same lyrics for the first three lines if the music’s changing underneath it. It’s good for the listener to get a feeling of stability, something to hold onto, while the music is actually progressing. Similarly it is good to keep the music quite monotonic in the verse to give a feeling of tension and wanting to break free and this is OK if the lyrics are changing.

Now we have a chorus again. You should have held back a bit on the earlier chorus so that this is a bit more, but if the music is good enough it won’t matter, but try using a different cymbal or something to give variety.

Now is the breakdown. This is the point where they used to have middle 8’s or guitar solos. Nowadays this is considered to be masturbation, however if it’s a fast song you’re going to need to pad it out a bit more so you could put a guitar solo in before the breakdown.  To strengthen the impact and keep it going without vocals you could double the speed of the hi-hat.  Some people say that a verse is twice the length of a chorus, some say that it’s the same length but the bit before the first chorus should be the length of two verses.  It doesn’t matter but the breakdown should be the length of two choruses.  It is basically just the rhythm track of the verse i.e. just bass and drums.  If it’s simple someone might sample it and then you’ll get loads more money.  You can do other things over it like say a few vocals or make feedback noises but the important thing is that it is ‘down’.  It lets the listener have a rest.  If they’ve been dancing and singing they can calm it down a bit but even if they’ve just been listening you need to get their adrenalin down a bit so that it has more impact when you bring the choruses back in.  The trouble with middle 8’s as opposed to breakdowns is that you don’t let them come down so they don’t feel like they’ve gone on an emotional journey.  The second half of the breakdown can start to build up.

Right now the audience knows the song, you’ve given them enough foreplay and leading on, they’ve had the rest. Now just go for it. Play the chorus over and over so they can sing along, let themselves go, reach their peak, and really drum the hook and title into their head so they’ll ask for it again. First play the chorus just like you did for the previous one. It’ll have more impact than that one did because it’s straight after the breakdown. Then play another with more instruments, and then another with more instruments. Keep going until you’ve filled up the 3 mins 20 secs. You might be getting bored with it and want to stop but it takes the listener that many minutes to get into it no matter how fast the song is. The guitarist might be repeating one simple loop four times for each chorus so it’ll seem like an eternity to him but the singer and listener will just hear a few choruses. You can do other things to make it more interesting like singing new words or the verse or rapping over the music of the chorus.  After that you’ll have built the listener up to such a high that he’ll want to hear it again.  Really all he’ll want is the peak at the end but if he kept hearing that over and over he’d get bored but if he keeps playing the whole emotional journey he’ll carry on wanting to hear it.  So if a band’s songs all sound the same it’s not really a problem as the beginning is still different to the end.

So that’s the structure of a song. It is also the structure of a set.

Connecting Salesforce to a Heroku Database

A popular use of Salesforce is as a front end system of engagement application, using a lookup integration to the more static system of record data in a back-end such as SAP. I wanted to set up a demo to show this but I didn’t have access to an SAP environment so I decided to simulate the back-end by creating a Postgres database in Heroku.

I decided to use some publicly available open data on properties as the database and for this to be looked up dynamically from the account record in Salesforce.

Here are the steps I went through.

First get a Heroku account. Go to and ‘sign up for free’


Then login.
On my computer I installed node.js from

And npm from

And the Heroku toolbelt from

Once installed, you can use the heroku command from your command shell. Log in using the email address and password you used when creating your Heroku account:


Execute the following commands to clone the sample application:


You now have a functioning git repository that contains a simple application as well as apackage.json file, which is used by Node’s dependency manager.


Now we create an app on Heroku, which prepares Heroku to receive the source code.


When you create an app, a git remote (called heroku) is also created and associated with your local git repository.

Heroku generates a random name (in this case glacial-sierra-8855) for your app.

The package.json file determines both the version of Node.js that will be used to run your application on Heroku, as well as the dependencies that should be installed with your application. When an app is deployed, Heroku reads this file and installs the appropriate node version together with the dependencies using the npm install command.

Run this command in your local directory to install the dependencies, preparing your system for running the app locally:


Now we add a free Heroku Postgres Starter Tier dev database to the app.


Now we need to add Postgres to the path:


I found some sample data of properties here.

Download the CSV file to your current directory and delete first line so there’s only one header.

Now add an index column; so in Excel insert a new column, put 1 and 2 as the first two entries and then highlight these and drag the mouse down so that it auto populates the other records with increasing indices:



Now we create the database table in the same format as the spreadsheet.


Run a select statement to check it worked:


Set the date format to be UK format like the spreadsheet.


Then copy the spreadsheet into the database:


So now we have an app, a database and a table. In order to access it from Salesforce we need to request that the database be enabled as an external object by raising a ticket at

You will need to provide Support with the application name (in this case glacial-sierra-8855).

Once external object support has been enabled go to

and set the app as a Heroku Connect Instance and get the username, password and url for it.

Select the ’emptyproperties’ data source to share:


Now, to connect to this from Salesforce you need a Salesforce org with Lightning Connect/OData enabled. If you request a developer environment from here then you will get this functionality automatically

In your Salesforce org:

  • Click Setup (upper right corner)
  • Click Develop > External Data Sources (left navigation)
  • Click New External Data Source
  • Enter OrderDB as the Label. As you click or tab away from the label field, the Name field should automatically default to OrderDB.
  • Select Lightning Connect: OData 2.0 as the Type.

(OrderDB doesn’t have to be the name, choose something meaningful for you).

Enter the url, username and password from heroku


  • click ‘validate and sync’
  • and select the ‘emptyproperties’ table
  • and select ‘sync’


Then click into the ’emptyproperties’ external object


You should be able to see that all the fields have been picked up from the database:


You can now create a Custom Tab to Easily Access properties

  • Click Setup (upper right corner)
  • Click Create > Tabs
  • Click the New button next to Custom Object Tabs.
  • Select properties as the Object.
  • Click the selector next to Tab Style and choose whichever style you like.
  • Click Next.
  • Click Next to accept the default tab visibility settings.
  • Choose the apps that you want the tab to be included in.
  • Click Save.


Now there will be a new tab:


Click on ‘go’ to view all. All the records are now accessible in the database by clicking through the external ids.


Now go back to ‘external objects’ where you were just before creating the tab.

Now we want to make the index an external lookup. Click ‘edit’ next to index.


Select “change field type”:


  • Select External Lookup Relationship and click Next. An external lookup relationship can link any object to an external object.
  • Select emptyproperties as the value of Related To and click Next.


  • Enter4 as the value for Length and click Next.
  • Enable theVisible checkbox to make the relationship visible to all profiles, and click Next.
  • Click Save to accept the defaults – you definitely want an ‘OrderDetails’ related list on the Orders page layout!

Now go to the properties tab and select an external id and the full property detail is displayed:


[Edit: if the property details don’t show up the you will need to go to the user’s Profile and enable READ in the FLS of your External Data Object fields.]

Now let’s assign properties to accounts. Se we’ll edit the account record and add a property

  • Setup, customize, accounts, fields
  • New custom field
  • External lookup
  • Select the properties but change the field label just to Property
  • Step through and save it
  • Now when we go to an account we see an empty field for Property


If we edit the field and put an index in it becomes a link to the Heroku properties database


Now the property also shows a link back to the account from the property:


And that’s it. We now have accounts in the Salesforce CRM system with real-time lookups to the system of record in a Heroku database.

A Guide to IBM Bluemix Resiliency and Security

This post was originally published on ThoughtsOnCloud on February 7th, 2015.

I’m pleased to say that it was also published for the 20,000 attendees at IBM Interconnect on Feb 26th.

B-yCORyUcAA8Gq1IBM Bluemix is suitable for high performance, high input/output (I/O), high availability or latency-sensitive production applications, as well as development and test deployments. This is due to the IBM Bluemix configuration of Cloud Foundry within its data centers and the underlying strength of the IBM SoftLayer cloud infrastructure platform.

All Bluemix applications have their infrastructure automatically deployed as required and in real time. For example, if an application is dynamically scaled because it requires extra capacity, Bluemix handles it automatically. There is a full web-based management console and programmable management interfaces, which enable completely flexible monitoring of users’ applications.

IBM Bluemix configures Cloud Foundry in a highly available topology within the IBM SoftLayer data center. All Cloud Foundry components have been replicated to avoid any single point of failure (SPOF). These components include Droplet Execution Agent (DEA), Cloud Controller, router, Health Manager and login server. If any component fails it will be restarted within the data center while the remaining components provide continued availability. Other deployments can become available for the purposes of disaster recovery for IBM Bluemix applications.

IBM Bluemix exploits the IBM SoftLayer cloud infrastructure platform, hosted in data centers with Tier 3 resiliency. IBM SoftLayer provides a compelling set of service level agreements (SLAs) which in turn provide a strong platform for IBM Bluemix technology.

IBM Bluemix is able to exploit IBM SoftLayer’s triple network, which isolates public Internet, private application traffic and infrastructure management traffic. Together with highly redundant servers, each of which has five network cards, and the ability to seamlessly integrate with secure client private networks, IBM Bluemix applications benefit from a highly available and resilient network.

A large catalog of application services is available, each of which typically provides an appropriate range of priced service levels. The service plan will document a priced service level as well as the free service tier. While the free tier provides the ability for developers to try out the functional behavior, the priced levels provide increasing operational quality of service. This

service plan is fully documented with the details of the service performance and capacity, as well as specifying high availability and disaster recovery options. This flexible service approach enables departments to match their development and operations with the appropriate service plan to ensure the most economical mix of service levels.

The IBM approach to information assurance is to provide evidence according to government security principles. IBM Bluemix and its underlying cloud platform infrastructure, IBM SoftLayer, are designed to comply with these 14 principles for all security elements including people, process and technology.

The IBM SoftLayer cloud infrastructure platform has already demonstrated compliance with SOC2 Type II, EU Safe Harbor, and CSA STAR CAIQ and CCM self-assessments, as well as the ISO 9000 quality assurance standard. These standards represent the ongoing commitment to the European Commission data privacy requirements.

From an engineering and support perspective, IBM Bluemix and its underlying cloud infrastructure technologies undergo continuous rigorous security testing in accordance with IBM Secure Engineering development practices. If a security exposure is identified by IBM or a third party, then IBM Support will use the IBM Product Security Incident Response Team (PSIRT) process to apply appropriate and timely updates to ensure the overall system security and integrity is maintained.

As you can see, the security and compliance offered by Bluemix is attractive and comprehensive. Do you think Bluemix is right for you?

Sending SMS messages using Twilio and Bluemix


Here’s an excellent post on setting up a Bluemix app to send SMS messages.

Originally posted on Martin Gale's blog:

I’ve been tinkering with an Internet of Things project at home for a while which I’ll write up in due course, but in the course of doing so have knocked up a few useful fragments of function that I thought I’d share in case other people need them. The first of these is a simple Node.js app to send an SMS message via Twilio using IBM Bluemix.

There’s lots of material on Twilio and Bluemix but by way of a very rapid summary, Twilio provide nice, friendly APIs over telephony-type services (such as sending SMS messages), and Bluemix is IBM’s Cloud Foundry-based Platform-as-a-Service offering to enable developers to build applications rapidly in the cloud. Twilio have created a service within Bluemix that developers can pick up and use to enable their applications with the Twilio services. One of the things I wanted for my application was a way of notifying me that…

View original 805 more words

My twitter feed


Get every new post delivered to your Inbox.