Getting Rusty

I am now starting on another Exercism track even though I know that it’s not the fastest mentored.

I had used brew to install Rust but that did not have an updated version

The correct script is:

curl -sSf | sh

The Rust track seems to provide skeleton code which is better for beginners than say Typescripts missing file approach.

It also has the gentle one failing test at a time approach and a nice switch to ignore the ignore flags that will make mentoring easier.

The queue is not too bad atm

Serverless Is Generation Rent for Computing

When I moved house I rented a van to move my possessions. I own a car but it would not have been practical to own a removal van. I don’t need a van all the time (technically I don’t need a car all the time, but do use it enough to make owning it worthwhile).

This is the model that makes sense for Serverless. For most users it would be cheaper to just rent the service when it is needed. A key point of Serverless is that you pay when you need it and don’t pay when you don’t. This can make the staging and development environment significantly cheaper without extra effort. I have worked on cloud hosted systems that were switched off overnight (and at weekends). This gave a cost saving, but if the start process failed we could be half a day without a working test environment.

Now there are cases where if you need to use a service all the time then other options become viable. You can run a server for $1 per day on Heroku.

Would Rent Infrastructure be a better name than Serverless? This could avoid the “you still have servers” debate.

Recently I have found how quickly you can stand up useful services. My team was asked to set up an sftp server. Using AWS and S3 we now have a working system 2 days after first being asked for it.

Digital Publishing: Writers Toolkit

Whilst preparing my book Development I constructed a small toolchain to assemble the ePub, mobi and pdf files.

I have chosen the “Bring Your Own Book” option on leanpub to give me the maximum flexibility.

From the project files from Development I have extracted a github project that can act as a starting point for writing another book: Writers Toolkit.

Currently the scripts to setup and build are mac centric but I would welcome pull requests for other platforms.

The build tools are based upon the wonderful Pandoc. I use this to turn markdown files into ePub and pdf files. The ePub is then converted into a mobi file for Kindle.

The only issue that I have had with Pandoc is trying to convince it to correctly form P2 paragraphs. I had been using the inline ## form for this. The other option adding —- to the following line seems to be more reliable.

What Mentoring on Exercism.IO Involves

I mentor the Elixir and Groovy tracks on is a Code Practice and Mentorship site.

Students sign up to various language tracks, attempt to solve problems and post a solution (which may or not be complete) possibly with a comment (mentors do like comments).

Mentors are asked to commit to marking 10 solutions a week, which should take about an hour. However it does not matter if you can only do one per week – every little helps.

Mentoring is a great way of deepening your knowledge of a language. You will need to be able to explain ways of improving code or hints on solving a problem to someone who may:

  • Not know the language
  • Have limited English skills

This is a great way to practice code reviews.

There is no need to have finished a track, although it may help if you have finished one or two exercises.

Sign up now

Interesting Article on Elixir Releases

Releases are the most complete deployment option for an Elixir project.

The article:

There are several ways to deploy an Elixir application:

  • Source code run with elixir script.exs
  • Run with mix
  • Deployed using an escript
  • A full release

The last of these is the most robust solution which will permit clean upgrades.

The term Application in Elixir is akin to a library in other languages.

An Elixir solution is more of a mini operating system with processes.

Brexit Options

We have a Conservative leadership election in the wake of the EU election results.

Here are the facts:

The EU will not reopen negotiations.

Our current extension will run out at Halloween.

There are three options for parliament:

  1. Accept May’s deal
  2. Revoke Article 50
  3. Crash out with No Deal

The first has been repeatedly rejected by parliament.

The third will not be able to win over the house of commons, but will be the default should nothing be agreed.

The Brexit party would like to be part of negotiations but since the EU are not interested that won’t help.

Something needs to move, and that will either take a fresh election or a referendum.

We have a weak opposition (unable to decide if it is pro or anti Brexit) and a minority government unable to act.

The Conservatives will consider a Step to the Right (timewarp anyone?) to appeal to the Brexit party voters.

The Brexit party had no manifesto so its impossible to know what form of Brexit that they want. The best guess would be the No Deal option.

On The Unsuitability of The Candidates

The UK faces the prospect of a new Prime Minister selected from a list that is packed with entirely unsuitable candidates:

Boris JohnsonMr Johnson is facing a private prosecution
over claims he deliberately lied during
the Referendum campaign.

 Mr Johnson is reported to
have replied: “Fuck business.”
Michael GoveI think the people in this country have
had enough of experts.
Stabbed Boris Johnson in the front during the previous
leadership campaign.
Jeremy HuntMessed up security contracts at the Olympics.
Hated by the NHS.
Can’t remember which country his wife is from.
Andrea Leadsom“Being a mother gives me an edge on May”
Withdrew from ballot versus May
Ester McVeyMisled parliament over the new Universal Credit 
Dominic RaabSurprised that Britain is an island

There are other candidates (and more will appear over the next few days).