If UserDefaults is a microwave, Keychain is a barbecue. Going into my first time developing with Keychain I expected it to be a pretty basic key-value store, maybe like UserDefaults but with a mild attempt at security. And while that’s more or less the case, there are distinct differences which, if you don’t familiarize yourself with, are going to leave you angry, confused, and eating undercooked food.
On top of that, it’s not super easy to find practical help online. …
As of the time of my writing this, August 2018, the documentation for LayoutAnimation is sparse — it could use some work. Which is unfortunate because
LayoutAnimation is pretty useful and powerful.
I took a look inside the source code and am here to report my findings. This article is going to cover details about
LayoutAnimation that I had trouble finding elsewhere, as well as a few examples.
LayoutAnimation? From the official docs:
Automatically animates views to their new positions when the next layout happens.
That’s pretty much it…
China is a scary place with a scary language. Here is a small collection of useful words that are commonly used but may be hard to find. I hope you find it enlightening.
This word literally translates to “logic,” and much in the same way as English, it’s a pretty vague term that can be used to describe all sorts of things. The difference is, where in English we use all sorts of fancy jargon to differentiate between different types of logic — control flow, workflows, what have you — in Chinese, just 逻辑 is ok. Can you show me…
This article is a technical overview of how the Monero blockchain works. All things considered, Monero’s blockchain is pretty simple; this is because Monero’s complexity and novelty is in its privacy features, which are pretty much all application-level. If you’re familiar with Bitcoin, this should be a breeze.
This article incorporates the concepts I went over in Monero Part 1: Key Concepts.
Accounts in Monero have 2 keys: a spend key and a view key. As their names suggest, the spend key is used to spend funds of a Monero account while the view key is used to view funds…
This article is an overview on key concepts in Monero. It assumes basic knowledge of blockchain properties and some other nerd stuff. Here’s an article I wrote on Bitcoin that might help. Also, here is a part 2 which is all about how Monero works; you can read that and use this one as a reference if you’d like.
Privacy is Monero’s “thing,” and to understand Monero it’s very important to understand how it achieves this privacy. To that end, here’s a short primer on ECC so you can be ready for the other concepts to come.
In short, ECC…
gRPC, short for “gRPC Remote Procedure Call,” is Google’s lightweight, open source RPC framework. In this article I’ll basically be condensing information from the Google Developer site to serve as a primer/introduction for anyone thinking about using gRPC.
gRPC passes data through protocol buffers. They are defined by Google’s Developer Guide as:
… a flexible, efficient, automated mechanism for serializing structured data — think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from…
This is part 3 of my little tutorial on Cocos Creator. In part 1, we got our cannon set up. In part 2, we started spawning meteors and shooting at them to destroy them. In part 3, we’re going to touch up our project by:
Let’s get started!
Welcome to part 2 of my tutorial on Cocos Creator! In part 1 I covered creating nodes, enabling physics, enabling collisions, and hooking user input. In this part I’m going to cover spawning meteors and having the cannon shoot bullets at them. Let’s get started!
Prefab is short for prefabrication; as the name suggests, it is a resource that is loaded prior to the game running. They are very handy and we’ll use them a lot in this tutorial.
The first thing we’re going to do is create a bullet prefab for our game. …
When I first began learning Cocos Creator, I was met with a jarring lack of help from the internet. It was my first foray into game development, and I was coming from a programming background where for years I had been coddled with an endless supply of Medium tutorials, Stack Overflow questions, and (more importantly) Stack Overflow answers. I was terrified. For the first time ever, I had to think. Dig through documentation. Fiddle around. It wasn’t that I had use the second page of Google — it was that there was no second page of Google. …
The intention of this article is to provide a technical overview of Ethereum: how it works, key concepts, and concerns over it. It is not an opinion piece and will not cover philosophical/social/legal issues surrounding the topic.
This article also assumes knowledge of basic blockchain principles and an idea of how Bitcoin works.
“What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create “contracts” that can be used to encode arbitrary state transition functions, allowing users to create any of the systems described above, as well as many…
Software Engineer in SF