Recently I struggled with a Django form. The requirement was to specify a placeholder html data attribute. This task is very standard but the search terms involved made it tricky to find a solution online. I provide it here to help others.
I recently worked on a legacy React Native app that had issues running on Android. Like many software projects there is never enough time nor enough engineers so the project was not tested for Android. When they finally got around to running the app on Android it was too painful. I was asked to fix it.
Async tasks are an intermediate backend engineering problem. Most public facing apis need to return an answer under 1 second for a good user experience. However many real world tasks require more than 1 second to complete or need to be scheduled to repeat. The solution is usually to create a task that can run asynchronously. In Django one way to accomplish this is by writing a management command.
How do you manage your expo phone app’s configuration between testing and production? Expo has a feature called release channels that allow you to distribute different versions of your app. In this post I’ll go over my approach to configuration management of a react native app using release channels.
Here’s a small tip on how to write some endpoints in Django Rest Framework. DRF is a very powerful framework for building APIs. It provides the typical actions (Create, Read, Update, Destroy) for your models. But what if you want to change the default behavior?
In early January I was reached out to by the nyc blockchain group asking if I could teach whatever I know about Solidity. I said yes. The audience was undergrads completeing coursework in project management and computer science. Not all of them knew what bitcoin was so I covered a lot of ground in a short amount of time.
There are lots of materials on how to train neural networks but not as many showing how to deploy them to power real services. In this post I’ll share a minimal example of how I train tensorflow models and deploy them on Sagemaker. I’ll cover items that I found intimidating so hopefully they become less intimidating to you.
An app that’s tailored exclusively to English-speaking users won’t compete in the overall market. You could make 10x the revenue you currently make by adding global localization to your app. You limit your own chances of reaching a larger customer base if you don’t localize your business for users who speak different languages and live in different regions.
Running a full bitcoin node on osx is a good way to familiarize yourself with blockchain administration. You can explore the ledger locally and you don’t suffer any of the risks Simple Payment Verification nodes suffer from. You can “Be your own Bank” or so they say. If you have ~300 GB of free disk space you should try it out.
Gradient boosting decision trees is the state of the art for structured data problems. Two modern algorithms that make gradient boosted tree models are XGBoost and LightGBM. In this article I’ll summarize each introductory paper.