I'm a Lecturer in Computer Science at Brunel University London. I teach games and research simulations. Views are my own :).

Migration to write.as.

Today, I received an e-mail from Coil.com to migrate my blog from Coil to Write.as, as the Coil blogs will close in November this year.

So here we go! Say hi to my new blog on Write.as. You'll find a range of posts on it, covering Python programming, general interest topics, some politics and some coronavirus related content.

I'm not yet sure how I will take the blog forward, but if you have any suggestions, then feel free to drop them here :).

I don't normally do this, but @SethStanley asked me to make a quick introduction to CubDefi.com. So here goes!

(this post is NOT financial advice)

What is CubDefi.com?

Cubdefi.com is a swapping platform that was developed by a group of finance enthusiasts at Leofinance.io. LeoFinance in turn is a blogging platform that runs on the Hive blockchain.

At the moment you can swap tokens such as BTC, BNB, BUSD for Hive related tokens such as DEC and LEO. But the more lucrative bit is where users can store tokens in liquidity pools. These liquidity pools help to stabilise the token prices, and in return the contributors to these pools receive compensation in the form of so-called CUB tokens.

CUB tokens go for $3-$4 each at the moment, and can be sold near-instantly for a ~$0.40 fee using the same platform.

Design sketch of the LeoBridge, a way to convert ERC20 (Ethereum) to BEP20 (Binance Smart Chain) tokens. Image courtesy of LeoFinance.

In a few weeks they will establish a bridge that allows people to swap Ethereum-wrapped tokens for tokens that are wrapped on the Binance Smart Chain, and that bridge is likely to give much more user uptake.

What do you need to use it?

It's not completely trivial, but also not terribly hard: you need to have a Metamask crypto wallet (or the Brave Browser wallet), and you need to do about 2 minutes of work to add support for the Binance Smart Chain.

You then need to move tokens (I normally use BUSD) into the wallet. The easiest and cheapest way (no fees) to do this is by moving tokens to Binance, converting them to BUSD and then withdrawing BUSD to your Wallet address.

Once you've done that, you can then convert the BUSD to whatever tokens you want using the platforms, use pairs of tokens to contribute to liquidity pools or (some of the) individual tokens to contribute to so-called dens, which serve as a staking storage.

How do people earn from this?

Rewards on CubDefi.com are paid out in CUB Tokens. One new token is generated per BSC block, so the inflation rate is reasonably large but gradually decreasing over time. The developers of CubDefi participate in the pool, and they tend to hold quite a fair amount of LEO and CUB tokens themselves as a result of that.

What makes CubDefi quite unique is that the developers and infrastructure providers do NOT take a cut on the fees! Instead, 80% of the deposit fees (typically 2%) are used to purchase and burn CUB tokens, and 20% of the deposit fees are used to purchase and burn LEO tokens.

By burning tokens, the value of the remaining tokens increases due to scarcity. This is then intended to give all participants, including the developers, a likely growth of their portfolios in value.

I think the design is quite elegant, because both the users and the developers have the same incentives to make the whole system work.

A sample of the APRs from a few liquidity pools, as of 19-04-2021.

Typical earnings are +100 to +350% per year for liquidity pools (if token prices stay constant), and +30% to +150% per year for the staking “dens” (if token prices stay constant). If you compound your earnings, the rates can in theory become much higher than that.

Those APRs are of course great when you compare it to a normal savings account, but (a) they are likely to drop when the platform grows, and (b) a DeFi platform is a good bit riskier than a normal savings account!

What are the main risks then?

I'm sure there are many risks I haven't thought of, but here are four main risks that I have been able to figure out:

1. Any decentralised finance platform has the risk of the so-called rug pull, where the developers steal the tokens and close up shop. CubDefi has been through a CertiK audit procedure to help protect from this, but even audited platforms do sometimes end up being rug-pulled.

2. When you invest in a liquidity pool of, say CUB and BNB tokens, it is well possible that the value of your investment will grow less fast than if you were to hold only CUB or only BNB tokens. This is called impermanent loss, and is explained in more detail here.

3. Platforms can get hacked, and as mentioned before this actually happened to the LeoFinance community before. In my opinion, the way they handled that initial hack (and how they most likely learned from it) is a useful risk mitigator here.

4. There is little regulation around crypto platforms and especially decentralised finance at the moment. When that changes these platforms may become much less easy or favourable to use. But only time will tell.

How did I discover it?

I became familiar with Hive through Splinterlands, then discovered Leofinance as part of Hive. I was apprehensive of the Leofinance activities at first, since it was such a nascent community. And indeed, they had a liquidity pool on Uniswap that did get hacked last year. But what won me over was the way they dealt with the hack: rather than cutting losses, the developers went out of their way to compensate the victims, even if that meant incurring serious losses themselves. Ever since I've become an increasingly active participant in the Leofinance community.

Closing thoughts

Well, this is mainly a primer on behalf of Seth Stanley's request, but I hope it was useful for you as well!

One last thing I want to mention is that there are many other swap sites on the Binance Smart Chain. I've heard of GooseSwap, PancakeSwap, SushiSwap just to name a few. However, I have no clue about the background and reputation of those platforms, so I am extremely hesitant to use those platforms for anything other than swapping a few tokens. But perhaps some of you have different views?

If you have any thoughts or comments, feel free to drop me a line on Twitter or Mg.social (@whydoitweet) :).


So I had to sell almost all of my XRP right before the big pump...for a house deposit.

It's the first time that we're buying a house, and there was no other reasonable way to get the required funds in time for the deposit. In a way it feels awkward to have timed the sale so badly, but at least I (1) waited for as long as reasonably could have, and (2) I managed to sell it at least for a modest profit, at a price of $0.50-$0.55 per XRP.

Now with the deposit out of the way, I still have a little bit of XRP left (since it's pretty small, I can safely disclose it: it's 500-something XRP ;)). But even though my stake is truly tiny now, I am not sour about the recent price pump: I had to sell it when I did, and I've held it as long as I reasonably could have.

In fact, I am actually very happy! I am very happy that the SEC case is very much turning in Ripple's favour, because it is well-deserved. I'm also very happy that investors are once more coming back to XRP, because a good buzz in the community makes it so much easier to get new initiatives off the ground!

I think the incoming hype will help Ripple, Coil, Mg.social, Gfam.live, Xumm and the whole XRP Ecosystem as a whole. I am pretty confident that the SEC will go flat on its face in the court case, and I can say that now with having rather little stake in the whole thing ;).

So if you have been HODLing XRP, and managed to sidestep all the other hype projects, then I'd say props to you: your patience and persistence have been deservedly rewarded!

That being said, though the price might ping-pong in all sorts of directions the coming weeks, I can't help feel the real Ripple dance has only just started...


Header image from Creazilla.

Yesterday, a special issue appeared of Philosophical Transactions of the Royal Society A. It's my first co-edited journal issue in my life, so I thought it's worth blogging about :).

Ten years ago, I learned one of the most important lessons in my work life: working as a post-doctoral researcher at University College London, I went back to the code that I worked on during the last two years of my PhD. The code was intended to run simulations of dark matter across four different supercomputers, and right at the tail end of my PhD I did some streamlining to make the code simpler, more elegant and more efficient.

But when I tried to install and run the revised code, it worked on one supercomputer, but I never got it to work across multiple supercomputers again. To this day I do not know what caused it to stop working (C++ errors can be notoriously uninformative). In fact, I do not know anybody that ran one simulation in parallel across four supercomputers again after that time (though I'd be delighted to be corrected on that!).

Results that aren't reliable and reproducible may be gradually forgotten over time; or they may cause people to make wrong conclusions with all their associated woeful consequences. This special issue is focused on how you can prevent that.

Several articles in the special issue are very research-oriented, e.g. introducing some new ways to make simulations more robust, but there are also several articles that may interest a broad group of people. For instance, there is one piece on when you can trust computers (and when not), and another one explaining how free and open source software can be quite different from one another. Not all of it is open access unfortunately, but at least most of the pieces are, and there's this extra blog article about the first piece as well.

You can find the issue as a whole here by the way.

Anyway, I have no idea if (or when) I'll co-edit a journal issue again, so I feel it is only right to record this milestone in the blog here :).

Let me tell you about that time when I had to transfer 250 Basic Attention Tokens into my wallet...

As you all may know, I'm an avid player of the Splinterlands online card game, and 3 days ago I participated in this funny little tournament:

It had a huge prize pot, but also a caveat... I needed to hold 250 BAT token! But I had 0 of them!

So... I went to Binance, purchased 274 BAT tokens for $0.77 each ($210 total), and then withdrew 251 tokens, paying a fee of 23 BAT (~$17). That's a steep fee, but given the prize money and the fact that there would be more BAT tournaments with mandatory holding, I thought it could be worth it. :)

Anyway, I played the tournament, and ended up 9th which gave me about $11 of prize money. Had I finished 8th I would have won $60 in prize money, but hey we can't always be lucky ;).

But then a little twist came... Splinterlands and BAT put up an announcement that holding BAT would no longer be required for future Brave tournaments.

So I realized that I no longer needed that BAT in my wallet, and moved it back. But I couldn't because I don't actually HODL any ETH ;).

So, as a next step I converted and transferred about $50 worth of ETH (costing about $10). I then used some of that ETH (about $15) to transfer back the BAT to Binance.

So all in all I won $11, but spent $42 in fees on ETH transactions. It was a rather appalling user experience and it really strengthened my belief that the ETH network has no serious future...

...but this story comes with a slightly happy end, because by the time I got the BAT token back to Binance, the price had jumped to a whopping level of $1.26!

So I sold my 251 BAT for $316 and by complete chance ended up with a profit on this little outage.

But never again please!

Meanwhile, my XRP was still priced at $0.46 all this time of course :).

Update: As of today the BAT token is apparently supported on the Binance Smart Chain. About bleeding time if you ask me!

Well, it ended as follows:

Source: Nos.nl

Well, actually this is the preliminary result, as the definitive result will only be presented next week Friday. As part of that definitive result, there may be a few more seats shifting.

But most likely it will be the Liberals forming a coalition (right wing Liberal party VVD + centrist liberal party D66) together with two or three other parties.

A four or five party coalition may sound a bit insane, but actually The Netherlands had one during the last four years so I'm reasonably certain that will work out this time as well :).

And the populists? Well, Geert “lets-close-the-mosques” Wilders got 17 seats (down 3) and Thierry “lets-ignore-COVID19-altogether” Baudet got 8 seats (plus 6).

Not great in my opinion. But at least my own favourite party (D66) did a reasonably good job this time around :).


Header image courtesy of Flickr user Reinier Sierag.

6 political leaders debated each other, and real people, during a 2.5 hour debate. Here are my poorly substantiated hot takes of the night:

Mark Rutte – Prime Minister – VVD (Liberal Conservative Party)

He survived the main debate topics between politicians, but looked uncomfortable with the energy topic, was caught out fabricating factoids several times, and looked a bit delusional in conversation with an actual voter (someone who was a heavy victim of the Orwellian phenomenon known as the 'toeslagaffaire'). For someone predestined to be the next PM, he did not necessarily do himself a favor.

Sigrid Kaag – D66 (Liberal Pragmatic Party)

Articulate and reasonable in many areas, and I traditionally align well with the points of D66. That being said, she was a little too academic and roundabout in her explanations, although she did her duty by calling out Wilders on the racism card. She was strong on the diversity point, but brought her personal experience a bit too late in the evening during the debate on vaccines. The granting freedoms to vaccinated people is a shaky point to defend however, as the efficacy of vaccines can vary per vaccine and per mutation...

Jesse Klaver – Green Left (Green Party)

Made very sensible points, and was excellent in the climate debate. His 'bringing the country together' points came sometimes across as a bit too precalculated, and some of his anecdotes felt a bit off target. But he did get more points across than most, and his mild emphasis on listening rather than shouting worked reasonably well in this debate. Of all the participants in the debate, he certainly was the one who was best able to make the current Prime Minister (Rutte) look off-key and a bit dated.

Wopke Hoekstra – CDA (Christian Conservative Party)

I've seen CDA leaders having worse evenings, but struggled not to portray himself as “Rutte Lite”, due a huge lack of differentiation with the VVD. He also appeared tone-deaf in the energy debate, attempting to make a case that building nuclear plants somehow would reduce CO2 emissions in the next few years. He had his highlight of the evening by making his single attack on the PM, criticising him for wanting to tax rich people but not companies. Looked completely ridiculous when trying to claim credit for proposing to start mass testing for COVID-19 1.5 weeks ago in the government council (it'd be a bit more awesome if he had done that 50 weeks earlier...).

Lilian Marijnissen – SP (Socialist Party)

Stuck partially to the classic socialist lines, but showed a more pragmatic and flexible side when going in one-to-one discussion with a games company director. Made some excellent hammer blows on diversity in politics, and she somehow managed to get her points across largely unhindered, and was clear-cut in her criticisms. Overall, she was one of the stronger performers in the debate, and may well have delivered herself extra seats. However, she did have a slight weak finish in the vaccine debate, where she appeared to deliberately misrepresent the main point from Kaag.

Geert Wilders – PVV (Populist Anti-Immigration Party)

Wilders has been in Dutch politics since the 2000s I believe, and this time he started early using his evergreen formula of offensive propositions. Tonight he proposed giving Black Pete a spot in the government, or perhaps even several. When confronted with a real-life Dutch muslim standing in front of him, he chickened out on his policy of de-islamisation because to keep going would probably even have scared off his die-hard voter base. He failed to make much headway on new topics that concern people, such as coronavirus, healthcare problems and how to recover from the economic blow. Must've been a somewhat frustrating evening for him overall.

In a recent post I pondered a bit about an online project. And a topic is starting to come together.

Whether the project will go ahead remains very much to be seen. But there is a Hackathon coming up in March where I'll get the opportunity to kick it all off.

At the moment I have a name and a concept, but the rest still will have to come together. Oh, and I know it will have to be a browser game, or possibly an app :).

The name will be “Doomsday”. It refers to the Apocalypse (of course), but it also refers to the famous Domesday Book, which is stored close to where I live and which contains a meticulous recording of every detail of England in... the year 1086.

The concept of the game is simple. You have your existence in a virtual world, a character, a settlement or a creature (I have no clue what yet!). You build up an existence, you accumulate wealth, technologies, abilities and whatnot. But Doomsday is always around the corner, and unless one of you is able to spot it early, and many of you are able to cooperate, the virtual world will end.

And all assets will be destroyed, lost for good.

Some of you may want to fight the Apocalypse. And some may want to enjoy the game while it lasts, having given up hope for redemption. And a few players may be willing and able to escape the world before it perishes, and take what little they could bring with them to build up a life when the next world begins. They will be best off if the world indeed perishes, but may find them in a depleted position if the world does end up being saved...

Before and during the Hackathon, I plan to work out the concept and scope out the gameplay, choose the ideal platform for it and set out the design for the game in various other ways. And perhaps even put some gameplay together!

Lastly, I intend to make the game monetized using Coil, and possibly even in other ways as well. Part of the monetization element will be intended to augment the gameplay intensity when everything does get lost ;).

If you think the concept is interesting, and you'd like to be part of the development process in one form or another, then drop me a line on Twitter :). Let me know why the concept interests you, and exactly in what way you'd want to be involved!


Header image courtesy of Wikimedia.

2021 will be no less turbulent, I mentioned a few weeks ago. And indeed it doesn't appear to be.

A vaccine war in Europe, a GameStop war in the US, massive protest violence and plundering in the Netherlands... little did I know what was coming in those next few weeks!

In other news, I had my birthday a few days ago and my daughter has hers tomorrow, and despite the lockdowns we're still trying to make particularly my daughter's one very enjoyable :).


One thing I very much enjoyed was chipping a little bit to help MatteoXRP with his efforts on MG.Social. His query was in the end not straightforward to resolve, but I hope my input was helpful for the cause. If you have your own project related to Coil or web monetization, and want my advice about a particular topic, then you can drop me a line anytime :). And if you haven't joined MG.social yet, perhaps it's worth considering doing so now?


This is also the month where our slightly more conventional attempt at raising funds (through crowdfunding) ended up unsuccessful. Theoretically, the COVID-19 Risk Map could still end up being funded, but I don't want to delude myself. Perhaps the platform was not ideal, perhaps the timing was off, or perhaps the purpose of the risk map wasn't clear enough. It could well be all three, frankly, so I'll try something different next time.

What's up next?

Ever since I got out of the leg cast and the new lockdown started, I've been thinking about my priorities in life, and reorganising my daily habits bit by bit. It's an ongoing process, and I will let you know when I've got a clear direction set again. But for the time being, I'm somewhat in exploratory mode, both in terms of work priorities and in terms of how to take this blog forward :).

Of course: 2021 starts off with a lockdown, causing this post to be delayed! But here it is, so let's kick off my look ahead!

What I expect to 2021 to bring in the world

2020 was a year of many setbacks and a huge pandemic, but with hints of good news towards the very end. I expect 2021 to be no less turbulent, but with vaccines being delivered and Trump out of office, the struggle will be more evenly balanced.

But a struggle it will be... screen still from the movie Braveheart.

I expect there will be good news with lives saved through vaccines, countries managing to clear themselves largely, if not entirely, of COVID, and the climate change slowing down due to strongly reduced emissions in many places. It will also be a year of huge technological progress, and all the major powers (China, USA and the EU) are increasingly participating in a scientific race in many areas.

Work will not be the same again after 2020, as I expect many people to structurally work less in the office, and order products online increasingly often. Crypto will also almost certainly become more accepted and commonplace, in gaming, banking, investment and curation for instance (though I think full adoption will take 2-5 more years).

But not all will be well, and I do also expect there to be nasty surprises. This could include vaccine-resistant COVID-mutations, increasing geopolitical tensions, and a massive economic crisis resulting from the pandemic. A mixture of all three of them would make 2021 perhaps almost as dire as 2020.

But at least I feel there is a bit more sanity in the world, and we're collectively a bit better equipped to tackle the challenges we face than last year.

My plans for 2021

I learned a lot in 2020, but the year took a toll on my physically. So in 2021 I hope to lose some weight (perhaps 4-5 kilos), and become healthier in general.

Work-wise I want to make the various codes I'm working on a lot more sophisticated and useful, and try to find sustained funding for research, development and outreach in the second half of the year (the crowdfunder we tried out is a gentle experiment in that direction).

For my Coil blog I want to be creating more videos, and I would like to get more involved in some collective efforts with other people from Coil or other prominent crypto developers. I'm keeping a close eye on mg.social for instance, but also on several efforts to develop NFT-style games.

I don't think I will move my blog off Coil for now (it's easier to maintain it here, and I'm time-constrained usually), unless there are clear signals from Coil.com that it makes more sense to do so. But I will change the mix of content, possibly doing weekly or monthly update videos in addition to a few short written posts per month :).

As a sample, here's an update video I made for the fundraiser project yesterday...

... and as I post this I suddenly realize I should upload these to Cinnamon, not (only) YouTube! So I just requested an account on Cinnamon, which apparently will take up to 48 hours to be reviewed (more later).



So there you go! My quick look ahead to 2021! Let me know via Twitter (@whydoitweet) if you have any thoughts!


Header image courtesy of Pixabay.