November 24, 2013
The Kickstarter website allows people to pledge money towards the completion of various projects (games, movies, products, or lots of other ideas). Usually the project organisers give something in return and keep in communication with backers. I joined last September specifically to back a certain project (see the first project below). Since then I have backed 10 more projects. My only rule (so far) is never to back a project at a level which includes physical goods – I don’t need more stuff.
It appears to be an emerging tradition to detail the result of backing Kickstarter projects. As I haven’t backed a new project in nearly 3 months, and many have finished, it seemed a good time to reflect on my experiences. In order of when I pledged, my backed projects are:
- Project Eternity (pledged Sep 12, due Apr 14, ongoing) – Me and nearly 74,000 of my mates backed this little computer RPG. It is one of the more successful Kickstarters, and is the reason I joined the site. It is being built to a similar design and by a similar team to Planescape: Torment – that is enough of a sales pitch for me, I pledged enough to get a copy on release. Since being funded, the project team sends weekly updates on their progress. I am fairly comfortable waiting for this game.
- Conclave (pledged Sep 12, due Feb 13, delivered) – This project was backed on a a whim when it appeared unlikely it would reach its target. Now I understand that total pledges tend to surge in the final day, as it did in this successful project. It is a HTML5 RPG game where the first 10 missions are free (playable here). The team delivered all they promised, largely on time. I have played through about half the current game and it is a decent enough distraction for a couple of hours. No regrets here.
- Blackspace (pledged Oct 12, unsuccessful) – The only project I backed that did not reach its funding goal. This is a computer RTS game when the player builds and defends facilities on asteroids. I had a very similar idea and was keen to see how theirs’ looked. Unfortunately, little progress has been made (if any) since the funding failure – a pity.
- Sir, You Are Being Hunted (pledged Nov 12, due Jul 13, late) – A very cool looking “tweedpunk” FPS game where you are hunted by robots dressed like English country gentlemen. The game is in alpha and available on Steam. It is technically running late, but since the current version is playable and the oversubscribed kickstarter resulted in many stretch goals, I’m not worried.
- Sui Generis (pledged Nov 12, due May 14, ongoing) – A very impressive and ambitious tech demo for this computer RPG led me to back it. There were a number of original ideas planned for the game and I deemed it worth a try. Since then communication has been sporadic, but gameplay videos show progress. I just doubt this can be finished in the next 6 months, even another year seems like a stretch to me. Hopefully the team won’t run out of money or descope too heavily. Perhaps they could license their engine to other developers.
- Fate Core (pledged Jan 13, due Feb 13, delivered) – Another massively oversubscribed Kickstarter for a pen & paper RPG. There were so many stretch goals achieved on this one the value for money became too good to pass up, even for people with only a passing interest. Most of the backer rewards have been delivered (a couple of the later stretch goals remain), and the quality seems very high.
- EN World (pledged Jan 13, due Mar 13, delivered) – Before this Kickstarter I was aware of the EN World website and considering joining to help find local RPG groups (I didn’t join because it turns out Facebook is the way RPG’ers connect in Malaysia). Then the site was hacked and went to raise money to resurrect the site offering a ton of pen & paper RPG rewards for backers. Now the site is back (and I joined, but mainly for the news) and the high-quality rewards distributed (so many I haven’t had the opportunity to go through them all yet!).
- Jeff Cannata (pledged Mar 13, due Apr 13, delivered) – For many years I watched Jeff Cannata as one of the 3 hosts of The Totally Rad Show. It was a free, fun and informative podcast. When he went to Kickstarter to raise money for a new (although similar) podcast, I felt he deserved some money from me for the hours of entertainment already provided. Even better, my mate Jeff has now delivered the Newest Latest Best podcast. It lacks the chemistry of TRS, but is still very good and I happily watch it.
- Achtung Cthulhu! (pledged Mar 13, due Aug 13, partially delivered) – Cthulhu mythos adventures during World War 2. This pen & paper RPG was an easy sell to me. The original products from the Kickstarter have been delivered, with the numerous stretch goal rewards still to come. The quality of the books exceeded my expectations – very impressive. I have also started playing in a AC! game and can strongly recommend it.
- RPG Background Loops (pledged Apr 13, due Aug 13, delivered) – This set of 80 background loops (each 10 minutes long) for RPG games was backed on a whim. They are fine, but I’m not sure when I will get to use them.
- Weird Wars Rome (pledged Aug 13, due Sep 13, delivered) – Like Achtung Cthulhu, an easy sell with a combination of Cthulhu mythos in an Ancient Rome environment. Unfortunately, I have been unimpressed with the quality of the delivered book – much lower than the other Kickstarters I’ve backed. Disappointing.
So after 10 projects backed successfully, only one is (forgivably) late, one is a concern, and one had a disappointing result. I consider that a good result and wouldn’t be apprehensive about backing more.
November 10, 2013
Bitcoin mining is a method of turning electricity into money. That aphorism percolated around my mind for some time until it dawned that I don’t currently pay the full cost of electricity. Unfortunately, while that situation has existed nearly a year, it will end in a month. Cursing my sloth, I decided to experiment with mining Bitcoins on my PC, and see how much profit can be made from spare electricity.
Bitcoin is the most popular and valuable form of crypto digital currencies. That is, a form of money that exists only in digital form and is “created” through the solving of cryptographic problems (known as “mining”). There is no government or bank backing Bitcoin – so if there is a problem it is largely down to the community to look after itself. However, the problems solved by “mining” are actually checks on Bitcoin transactions, thus it is quite hard to hack the currency itself (hacking banks that hold Bitcoin balances is another issue entirely). From its origin in 2009 Bitcoin has continually grown in presence and value – at the time of writing it is US$228 to the Bitcoin.
So I put my ageing desktop to work. Three years ago it was a top end gaming box, now it is middle of the road. Especially the Nvidia graphics card which is utilised heavily in mining calculations. After downloading a mining program and joining a mining pool (which combines members efforts and shares the proceeds), my PC was dedicated to its task. After 72 hours of continuous mining I accumulated 0.0004 Bitcoins – just under 8 US cents. It was actually worse than that as the pool only pays out in units of 0.01 Bitcoins, so it would have taken mining 72 more days before receiving anything. Not really worthwhile.
The pool’s combined computing power increased 10% just over the 4 days I was watching, and apparently this is consistent with growth in total power devoted to Bitcoin mining. Thus the amount earnt by a miner with fixed power (like my PC) should decrease at the same rate (over 10%/week) – a rapid decline. Bitcoin mining is increasing exponentially and as the supply is released at a fixed rate, only more powerful mining rigs now earn back their costs. The most powerful miners are special built ASIC machines, normal PCs can’t compete. It may be after electricity and purchase costs even the new purpose built equipment can’t compete either! It seems only the manufacturers are profiting – just like the gold rushes of old.
Bitcoin not the only cryptocurrency, just the most well known and developed. There are many others (a list of some is here). Some use a different type of calculations for different purposes, for example adding inflation or making it harder to use specially built miners. I did the same experiment (same machine, same time period) with two lesser known and less liquid currencies: Litecoin and Feathercoin.
If I mined continuously for 100 days at late October 2013 difficulty and market prices, the result would be:
- Bitcoin → 0.013 btc = US$2.60
- Litecoin → 5.2 ltc = US$10.40
- Feathercoin → 224 ftc = US$15.68
All of which are probably less than the cost of electricity used. I doubt anyone is going to get rich unless they buy high end machines or specialist equipment – and take some large risks.
The experiment is now over.
November 5, 2013
Like millions of others I watched the entertaining Paxman vs Brand interview with great interest. Jeremy Paxman is deservedly known as a tough interviewer, regularly savaging experienced politicians. He is the interviewer that asked an evasive UK minister the same question 12 times. Here he is overshadowed by the comedian/actor Russell Brand’s eloquence, humour and anger.
When Brand talks about the disconnect between politicians and the populace I think he’s right. When he talks about revolution I have to disagree, not because his preferred replacement society is distasteful, but because it is unlikely to result from revolution or be stable if it did (think Orwell’s Animal Farm). However, what he said about voting was very interesting.
Russell Brand has apparently never voted. This is because he thinks none of the options available are worth a vote. Paxman finds this a problem. So do I, but in a different way. The purpose of voting in the UK is to capture the desires of the population towards which party should govern. Most constituencies only give a voter a choice of two realistic options, in safe seats there is only one option (hopefully that is the one you want!). It is likely that a valid vote comes down to choosing the least of two evils. Brand is saying he chooses neither evil. A view with which I have some sympathy and I suspect many others do too.
The situation is worse in Australia where it is illegal not to vote correctly. This translates into it being a fineable offence not to turn up to a voting station on election day, since it is a secret ballot and no one knows what is actually on your ballot paper. This has led people with views similar to Russell Brand to suggest intentionally spoiling your vote or donkey voting as a protest. However, little attention is paid to these invalid votes as people rationalise that they are due to stupidity.
In the 2010 UK General Election the turnout was 65%. How many of the 35% that didn’t vote are like Russell Brand, and how many didn’t care? How many of the 65% only voted out of obligation, because it is supposed to be the right thing to do, but still sympathise with Brand? How many of the invalid votes in Australia are a protest and how many are real errors? I’d like to know.
Leaving aside questions on the voting or political system, here is a simple suggestion to find out.
Add an official “None of the above” option to the bottom of all ballot papers.
The “None of the above” votes could be ignored for the sake of deciding a winner, but should be reported alongside the candidate totals. It is important they are publicly reported. They would serve as an indication of the democracy’s health. A low percentage of “none” votes suggest all is well. A high percentage and the system has problems. Either the candidates are not meeting the electorate’s desires or the voting system as a whole is not working. As any management consultant will tell you, the first step to solving a problem is measuring it.
I suspect the level of “none” votes would be disturbingly high, and this is the main impediment to implementation. Politicians would be embarrassed and their mandate weakened by a high level of “none” votes in their constituency. It would take a person confident in their support or egoless to happily to initiate such a change to the system. I’m not sure these are common traits among current politicians. Still a little embarrassment is a small price to quantify growing apathy and maybe prevent the government sleepwalking into revolution (as Russell Brand hopes). Counting “none” votes would provide the information in a public, unambiguous and non-partisan manner.
October 27, 2013
Last year Knight Capital released a bug into one of their automated equity trading systems resulting in the company losing $460 million in under an hour. As someone who has written automatic trading systems and had them used in anger, this definitely caught my attention at the time. Although without further information it is easy to dismiss its relevancy. Now, as the result of a SEC investigation, details of the incident have been published online
(with the the most salient details extracted here).
I was always incredibly nervous when any of my “dangerous” code went into production. This fear meant the code was reasonably well-tested (by me). I was always part of the team releasing it and supporting it the early next morning. Over 7 years, no one realised a loss due to a bug in my code. There may have been some lost opportunities, but no actual loss. Still, so many of the failings at Knight Capital sound familiar. It wouldn’t have been impossible for this situation to occur at one of the places I worked.
Below are my experiences related to the failings identified:
- There is the impression of time pressure. The new system had to be released by a fixed date to match a change in an external market. No doubt management were pushing staff to just get it done. In front-office teams there was usually more tasks than people available to complete them. Thus most common project size was one person (so there was no one to check your work). Rarely was there time to go back and fix things. It was assumed that the work would be done fast and right the first time. Mistakes did occur.
- A flag on the messaging system was repurposed. Why not just create a new one to ensure no interaction with systems using the old flag? I have seen this done many times and I once did it myself. No one wanted to do it, but it saved time. Messaging infrastructure was always handled by a separate back-office team and at one bank they only updated message fields every few months. If a coder needed a new field before this update they would have to reuse an old one. There was little other option.
- An old system lay unused for many years. All the banks had numerous little programs listening to the message bus and working away. All the places I worked were very keen to shutdown any unused systems to free up computing resources. However, it is easy to imagine one (or a bit of unused functionality in an otherwise used system) slipping through the cull. With the average team member only hanging around for a few years, knowledge of these old systems is soon lost. Worse, sometimes other teams, without our knowledge, created systems relying on our messages or databases (we couldn’t restrict read-only access). We only discovered them when they phoned to complain if we changed something (and we told them where to go).
- The new system was not deployed to one of the production servers. Clearly the release process should be run from a script that checks the result is correct and consistent. One bank had a manual release process. Developers would wait until all the traders had gone home and them manually copy and update files. At least a shared drive was used by all the servers so only one copy was required. Still it was error prone (releases regularly failed) and hopefully they have changed it since. Little improvements were made while I was there, but no one had the time to completely fix it.
- When errors started occurring 97 emails were sent detailing the problem – all ignored. I’d be interested to know how many other emails were sent. There were always floods of spurious error messages caused by people logging problems at the wrong level or just covering their behind (“but it sent an error email – someone should have done something”). At two banks I got over a hundred “error” messages per day fro various systems. At first it really caused concern, but others said that they could be safely ignored – so they were ignored. It sent support people crazy, so there were constant attempts to fix it with various degrees of success.
- The issue was multiplied by removing the new system from production servers. This is so understandable in the banking IT culture. If there is a problem just after a release the assumption is always that the release caused it. Thus the release should be “rolled-back”, returning the environment to the pre-release state. Trading can then continue with the old version while IT can examine the cause of the problem with less immediate concern. The pressure to rollback can be intense, even if people are certain the problem is not in the release – you need to be very sure of yourself. It is like the old saying “no one ever lost their job buying IBM”, only not quite in this case.
I found front-office development strongly path dependent as we rarely had time to fix or improve old non-bug issues in code. We were always moving forward, relying on good staff (rather than process or automation) to avoid or ameliorate problems. Over time things improved – every bank had a better environment than the previous one. I never had a major issue. It would be nice to think this is the result of ability and competence. Although reports on incidents like Knight Capital’s show that when the environment and process is poor, luck also plays a strong role. I have some empathy for the developers at Knight Capital.
October 19, 2013
Available on iTunes with a BBC website.
In Our Time is a BBC radio show featuring discussions on the history of a single topic – a person, event or idea. It has been running for 15 years with over 500 episodes. A rolling archive of the last 2 year’s episodes is available on iTunes with the BBC website having selected older episodes. It is presented by Melvin Bragg, an experienced radio voice, and includes a number of subject specific experts (usually UK university professors). The production quality is excellent. Each podcast runs to 45 minutes, audio-only, and is a 20MB download.
The breadth of subjects and regularity of production means there is normally a topic of interest in this series. The themes are not constrained to any region or culture (although anecdotally Europe is most common). Focusing on world history upto around 1000 AD, I have listened to 15, downloaded another 10, and only time constraints prevent me listening to more.
The discussion in each episode is clearly directed by Melvyn (often following his interests) and can resemble an interview on occasion. The episodes on Vitruvius and Hippocrates spent as much time on the impact of the subject’s signature work through the ages, as they did on the subject themselves. For instance, reference to Hippocratic Oath on opposite sides of the medical experimentation argument by both Nazi doctors and those who prosecuted them. Due to time limits rarely does the talk get beyond the basic outlines of the issue. The 45 minutes on Hannibal was unsurprisingly scanty compared to the multi-hour Stanford course. Still, interesting topics are regularly examined and good points raised. I knew little on the intriguing Christian offshoot/heresy Gnosticism until listening to the discussion on it – I spent some time on the Wikipedia page afterwards.
Entertaining series providing a little information (or an exemplary introductory taster) on many topics.