Perpetual Swaps Funding Calendar

Perpetual Swaps are like Futures, but without expiry dates. Track their funding timings with this simple calendar.


AC/DC Graffiti Lane in Melbourne

Quick walk through Melbourne's AC/DC Lane covered in graffiti.


Understanding Buy and Sell Walls for Placing Smarter Orders

A disproportionately large spike sloping upwards on either side of the market depth chart is called a buy or a sell wall.


Venice Beach Skate Park

Slow motion shot of a skater in the air at Venice Beach Skate Park


Generate User Tutorials with RSpec and Capybara

Monkeypatch Capybara and take screenshots on a browser action to generate a user totorial.


Open a File with Atom from iTerm2 Using Command-Click

One of the lesser known features in iTerm2 is that when you hold the command (⌘) key on your keyboard and click on a filename or a path, it tries to open it.


Ruby assignment operators return the right-hand side value

Memoizing in ruby is pretty straight forward, but sometimes ruby puts limitations. This limitation is apparent when you override behavior of parent class, and the solution, let alone your mistake, is not so obvious.


Task List in Github Pull Requests + Do Not Merge WIP Plugin for Chrome

Using checkboxes, or task lists, in pull request description is not new. This feature seems to have existed since 2013.

Basically, you write this:

- [ ] a task list item
- [ ] normal **formatting**, @mentions, #1234 refs
- [ ] incomplete
- [x] completed

and it will turn your GitHub Flavored Markdown into a list with checkboxes:

Task List

What makes this cool, is that when you combine it with the Do Not Merge WIP for GitHub plugin, it looks if there are any unchecked checkboxes and won't let you merge the commit like so:

Can't Merge WIP

In any case, why would you be trying to merge this PR when the dashboard clearly says that not all tasks have been finished:

PR List

I wonder if there are any cool plugins like this for Safari.


Time-lapse of some sea creature

Finally found a good use for a time-lapse video. Filming took about 20-minutes using Instagram's Hyperlapse. Hyperlapse's stabiliser is a little bothersome, as it kind of makes the video drift a little, even if the camera has not moved.

Now, I am trying to identify this creature. Do you know what this is? (This was shot at Fukue island, Japan or 福江島, if that helps)


Russian Propaganda Review

Donetsk Airport

Now that Ukrainian troops have taken complete control of the Donetsk airport, it is a good time to look back at an example of Russian media propaganda. The attached ITAR-TASS "news release" follows a typical pattern of Russian propaganda: start with a lie, add some nonsense, and then finish with a different lie which contradicts the first lie:

The first lie: "Only the most staunch idea-driven are staying, there is no exact information on how many of them are there, a military adviser to the head of the self-proclaimed Donetsk People’s Republic told TASS"

The nonsense: “It was not an operation to squeeze out the Ukrainian troops from the airport, it was a “good will gesture” on the part of the DPR,” he said.

The contradiction: “There are no Ukrainian servicemen at the new terminal of the airport. They have abandoned their positions and have withdrawn seeing no point in further resistance,” the ministry said.

First they claim that some are left, and that there is no exact information. But by the end of the news release, they claim to have exact information and that none are left.

This is a key characteristic of Russian propaganda - instead of presenting a simple lie, they present a compound lie, which contains two or more mutually exclusive assertions. This has the effect of numbing the rational faculties which simply cannot believe two mutually contradictory propositions, thereby allowing entrance of irrational ideas - the emotive nonsense that they insert into the middle of the compound statement.