Overpriced courses – Are ‘gurus’ trying to take the mickey.

Overpriced courses – pet peeve of the week. With yet another guru launch this week and again a 2k pricetag!

So the general Internet Marketing Guru’s pattern is currently this…

  1. Create a course that consists of videos 2-3 hours worth. Bulk itup with pdf worksheets, mp3’s of the videos, and transcript pdfs. Maybe put in some bonuses another 1-4 hours of stuff but not useful for everyone. The course consists of rehash of existing stuff. Created using content from other courses or from a couple of books. It’s their interpretation (which may be wrong – but is usually not comprehensive).
  2. Setup a website and marketing email campaign.  Use  leadpages, clickfunnels, kajabi or optimizepress. Use infusionsoft as their back end to capture leads and feed into a funnel machine.
  3. Do some webinars with gotowebinar as their provider. All to add to the funnel. Use FB traffic to get signups.
  4. Use a hosted backend cart system
  5. Sell the course for $997 or $1997. With some options sometimes to pay in installments.

Well  they may be raking in the millions, but its still overpriced average pap for the main part.

Their faulty logic works something like this:-

  • Make it an expensive course. People will then have a vested interest in proving ‘the’ method works. If its cheaper its more likely that they will not ‘try’ their method out to the full. Then they fail and want a refund.

The fault here is that their course is  average but those that spent 2k on a course are going to give it a big try. So they can justify the spend. More likely they are afraid to admit to themselves they made an expensive mistake.

By and large, any course will get ‘some’ good students. Students who were ready for anything. Students that  get off their behinds and do something. These will generate enough cash to buy again – and you get your repeat customers. There are also a significant number who didn’t and won’t. Those customers will be lost forever.

It’s building a business out of clay. I can see some people doing this wondering why their sales are drying up after a few products and courses are released.

Running the numbers also shows a huge investment (almost 1k a month) in the front end. This needs a huge dosh of cash to churn the system. It needs lots of Ads to get lots of signups, to get lots of  buyers.  A lot of them are just jumping on the next shiny thing. You need a lot of cash to feed this machine.

Additionally,  the advisors suggesting this setup to other ‘entrepreneurs’ are raking it in. People use ‘their’ systems to do this so they get double bubble… “sell a course to use my $99 a month system!”

The only reason I can see for using these systems is lack of technical knowledge. It does take time to develop (sic) but at what long term cost?? Given I’ve got Sendy, node-red and thrive themes I can replace all that setup and the data is my own.

I still need to develop a brilliant taguchi/bayes/bandit optimiser tool but I’ll get there.

Oh and build an average 2-4 hour course!



Some people are just not ready.

Some people are just not ready for feedback.

Over the past year, I’ve slowly come to the realisation that people who need help sometimes don’t actually want help and are happy bumbling on with their belief’s that they are doing well and know more than someone else so that makes them feel better. That’s a really poor way of keeping their self-esteem up – but it’s what they know, it’s what they understand and it’s kind of working for them.

Unfortunately, people like this really hate getting feedback (especially negative feedback), unless it’s from someone they see as a God/Guru/Expert like figure, and even then they try and find as many excuses as possible for not making a change. The resistance to change is still there even when presented with lots of evidence.

To some extent, we are all guilty of this at some point so it’s understandable.

My main win from this realisation is that it’s not worth the effort to even bother feeding back to them. At the least it’s going to deaf ears, at worst they’ll come back with troll comments or a list of their (poor) justifications for how they are better than me. It would be very easy (with my knowledge and skill) to completely burn those people to the ground or turn them into a jibbering wreck, but to what benefit? It doesn’t make me feel good. It won’t help them in the long run because they’ll have to find someone else to use as a shill to boost their self-esteem again, or bitch about it with a friend that will listen.

It’s a shame because usually I really do know what I’m talking about – otherwise, why would I bother feeding back in the first place. However I’m wasting my time because ‘People are just not ready’.

So I’ve got a new habit to cultivate; stop feeding back. Stop giving away my knowledge and skills for free to individuals (the collective masses might get some though). It’s their loss, not mine.





Scrapping JVZoo – Gumroad here we go

I’m trying YAPS (Yet another payment system) for a while.

Over the years I’ve tried…

  • Clickbank. Had a whole lot of problems with spam/refunds and integration issues. I still get the occasional blip of traffic but they charge you for inactive accounts and you don’t get paid unless you hit their threshold of 100 dollars.
  • 2Checkout. Lots of issues
  • Paypal – a good standby but integration issues kept cropping up. I used Download Guard as the handler, but updates to php and an expired licence forced me to look at alternatives.
  • JVZoo – to replace DLG in the chain but still going through paypal. On paper it looked like a good win as it had affiliate system in place too. No affiliate sales though and the quality of some of their products has been questionable over the last couple of years.
  • Gumroad. Simple to set up and some things that can work with my own endpoints (although the documentation for the extra customisation leaves a bit to be desired).

The jury is out but for low volume sales I’m eventually going to have to write my own Paypal handler.



Email Automation – Laravel+Sendy+JVzoo In under an hour

TLDR; Skip to the lower source block for the apache and htacess configs for laravel in a subdirectory using apache aliases.

I mentioned a few days ago that I’m moving over to using Sendy as my mailing list system. One of the things I needed to get sorted pretty sharpish was handling the customer email automation process for my Book website ‘Beyond Bedroom Guitar”.

Continue reading

Doing something good for young adults

Imagine you were 16 again. In the UK.

Now imagine you’d fallen out with your foster family, because you’re own parents were not around.

You’re out on the street. Alone. No where to live, no where to go.

You’ve still got to go to school.

You need to find food.

You still need to able to wash.

But you’re 16. You don’t qualify for unemployment benefit because you’re supposed to be at school or at college.

You’re 16 – possibly with poor education (those years of being moved from one school to another as foster families change don’t help). So getting a job is pretty hard (but you should be in school or college according to the law now). Even then its going to be low paid, a few hours. Not enough to live on.

There is a MASSIVE hole in the benefits system that means 16-18 year-olds fall through the cracks for support at this most vulnerable time in their lives.

One Charity that makes a difference for children (because that’s what they are really still children) is ‘Action for Children’. They have people that help.

Action for Children

Action for Children Logo

Help find children a place to live, get the benefits they need, get back on track to becoming an adult and most importantly keep them off the street, away from drugs, prostitution and all the other nasty things that they could be dragged into.

They also are trying to lobby to get the laws changed so that these people who are in trouble are NOT ignored by our society.

Each year, a whole group of technology people in and around Bristol get together to raise money for this worthwhile Charity. Apart from the usual fund raising techniques, their ‘big’ event is called ByteNight (come on programmers you know what a byte is). About a hundred people sleep out overnight – rough without shelter. All together about a thousand people do this across the uk in Bristol, London, Birmingham etc. Last year they raised just over £1 million on that one night alone.

I took part. It was my first ‘proper’ charity event. Ever. And it felt good. Really good to realise that I was going to make a difference that could have a direct impact on someone’s life. Yes I’ve done things in the past that have an indirect influence – but not this direct.


This year they are doing it again – and this year I’m doing it again too! I’ll be there on 2nd of October in Bristol with just a fleece, sleeping bag and roll-mat sleeping out rough and hoping to make a contribution to this very important organisation.

If you’d like to make a donation to my efforts then visit my just giving page and put some cash into the collection jar.


I've been waiting for  baited breath for this to get ported to the Mac. Then I forgot about it for a while. 

Nic needed a video creating for her Bed Med Gold Audio and iMovie was playing up a bit. So I downloaded the beta version from www.lwks.com and installed it. Well to say I was amazed is an understatement. After watching a few ​training videos (the one above included), it took me about 5 minutes to edit everything together and set it rendering. 

She wanted one of the Electric sheep rendering videos as a background and that took a long time to download and re-encode.

Here's the finished result (no award for film making yet!)

A Dilemma Version 2 or Version 3 of Cocos2dx

Having just seen the video from the Arm conference where Ricardo talks about some of the improvements to to Cocos2dx in version 3, I thought I’d take a quick look.

First I had to upgrade my version of C++ to 4.7 so I could compile it. Thanks Ubuntu for putting it in a test PPA instead of being generally available. A few apt-* commands later and I’m compiling up the source. At least this time the cmake configuration is much easier to understand. Another recompile after configuring Box2d (why do you insist on making Chipmunk the default!) and the test code is running much faster on my creaky old laptop. Using a later opengl driver has really helped.

The dilemma is should I abandon my previous code and setup and recreate everything in version 3, all the while having to mentally switch between CCSprite and Sprite class names etc. Also a lot of the tutorials are geared to version 2. It might be a bit of a mental stretch too far.

Anyway for now I’ve decided to give it a go and keep up with the latest and greatest. At this rate I might even get out a game before the stable release instead of the beta version.

So I’ll have to go through the same steps again.

  • Create Game Stub
  • Create Repo
  • Create Jenkins configuration.
  • Setup testflight.

All set up!



Your own, Personal, Jenkins

With thanks to Depeche Mode for the title.

This week I’ve been having a bit of fun with my own Jenkins setup. I use jenkins/hudson at work on a daily basis within our agile processes and thought it might be OK to set my own up for Beadbash.

For those that don’t know, Jenkins is a java based continuous integration server that will automate building, testing and deploying software for you. The power of this software comes from the fact that it has dozens of plugins for all sorts tasks. In my case I needed to

  • grab the source code from my bitbucket git repository (although it could quite easily have been svn, mercurial or many other source code management SCM tools).
  • compile it up as an iOS build
  • deploy it to my phone via testflight


Jenkins Continuous Integration Logo

Jenkins Continuous Integration

I watched this youtube video first to see what’s possible, then I got started configuring it all.

To make things a bit easier, I decided to install Jenkins on my mac in the office rather than trying to run it on my laptop. This would make doing the xcode build a bit simpler as I wouldn’t need to create a slave server and configure all that up. (I might if I end up needing lots of build servers if I were anything more than a one man band for this project but as this is my first time setting it all up I felt that adding a slave component was overkill.). Installation was painless! Download the dmg from jenkins-ci.org, run the installer package, select the custom options so it would not run as a boot process as a different user and then run it manually using java -jar jenkins.war. That’s enough to get it all running and opening localhost:8080 gives me the start screen.

I then added all the plugins I would need the bitbucket hook, git, testflight, xcode etc. I also took a moment to configure a username and password so I could restrict access and then make it available externally via my firewall.

First pest problem was getting the source from bitbucket. I tried using ssh keys, but my keys always have a password set. I can understand why people create their keys without passwords so services can use them without needing input each time (like apache ssl certificates) but for personal certs I’m not happy just letting them being used. If my laptop was stolen or I lost a backup usb key then all sorts of mischief could be done before I managed to revoke the keys. Anyways’ it seemed that other people had come across the same problem and after a few false starts I found that actually bitbucket would work with just a username and password setup instead of ssh keys. So job 1 done. 

Next step was getting my repo downloaded. Because I have both the full cocos2dx tree and then a separate repo for beadbash under projects, I needed to use the multiple SCM configuration and set the second scm download to put the files in a sub-directory. That was pretty straightforward but then I came up against another problem. The cocos2dx repo was too large and Jenkins was timing out before getting the whole repo down.  A few searches later and some serious stackoverflow.com reading and I found a solution. I had to create a local bare git repo of the source code and use advanced clone with a longer timeout. This is only a problem the first time the workspace tries to get a copy of the repo as the next time through it only grabs the changes.

Repo sorted, next step was to get xcode to compile the code via the Jenkins plugin. This is where things got a bit hairy for a while. I hadn’t actually tried compiling it natively on the mac, so the first time I tried a build, it failed unable to open the keystore, and dozens of errors.  I opened the current code properly in xcode I had a whole lot of fixing to do:-

Add the resources, *.cpp,* .h files to the project. Modifying the linux makefile just doesn’t do it. (Note to self, I’m going to have the same problem when setting up the android build!).

Create the signing certificates in my keystore. This is the bit of voodoo that I still don’t understand fully but xcode takes care of it for you when developing. When releasing an app to the app store, then you need to create a new certificate via the apple connect interface and apply that to the .ipa package anyway so that’s fairly straightforward when the time comes.

There are a lot of deprecated warnings that I’m not going to fix just yet but will probably mean I need to upgrade to cocos2dx-3 at some point when it becomes stable. Perhaps someone will write a migration tool at the same time else I’ll have to get busy with sublime doing a lot of search and replaces.

So after several false starts, I’ve got the app to build.

The final step for this setup was to get the app deployed to my phone via testflight. This is where things got much easier. I already had a testflight account so I could grab my api keys and plug them straight into the Jenkins Plugin. A few settings later and its ready to test.

I did run into one problem which is that testflight searches the whole repo for apk’s and ipas to upload – which then also included some stuff in the cocos2dx which I didn’t need. So I fixed that by being specific to the android and ios project directories for beadbash.

A few nights work and now I’ve got a superb system for delivery to testers! Write the code, push it to the repo. Jenkins will check once a day (unless I kick off a build manually) if the repo has changed and if it has will build a new version of the code, push it to testflight and an email automatically arrives on my phone with a link to download and install the new version. Slick.