A Nigerian’s Guide to Starting a Career in Tech

How to get a great job in tech without leaving Nigeria

Simpler parameter handling for Interactors

At BuyCoins, we use the Interactor gem for business logic. It works like this: Say you have an Interactor called SendCoins. You call can trigger it’s functionality by doing SendCoins.call(amount: 0.5, currency: Ethereum…) The has passed into #call will be available within the Interactor as attributes

Ruby’s Prepend: How is it useful?

With a real world example This article introduced me to Prepend. It does a really good job of explaining the keywords below & the ancestor hierarchy. As such it’s a good idea to read it before mine. I decided to write this to show my real world use-case of

front-end vs back-end vs client-side vs server-side

If you’re an experienced (web) developer like I am, the words in the title make complete sense to you and are pretty basic. In talking to a few beginners recently, (as part of my attempts to come up with a sort of curriculum), I found out that they often

Reusing Redux Containers with multiple Components in React.

If you’re using react-redux then you should be familiar with the code below. // SomeContainer.jsx const mapDispatchToProps = (dispatch) => ({ ... }); const mapStateToProps = (state) => ({ ... }); export default connect(matchStateToProps, matchDispatchToProps)(SomeComponent); And then in your file that handles routing (or wherever). You’d have something like this. <Route exact path=

Rails GraphQL Server Tips — Part 1, Authentication.

I decided to write a series of posts that show how I do certain things with graphql-ruby in server side Rails applications. Today, I’ll be showing how I handle authentication. Understanding this article requires some knowledge of GraphQL, Rails & how to use devise (or some other authentication gem

Primer: State management (with Redux)

I recently started doing React + Redux development and Redux took some getting used to. So I decided to write this to make it a bit easier for the next beginner to understand. My aim with this is to explain the ideas behind libraries like Redux and not focus on the

Tiny jsonb gotcha in Rails

If you’re using Postgres 9.4+ in your Rails application, you get to create columns in the jsonb type, which lets you store non-relational data. To do this, you add the column in a migration as usual, like so: add_column :users, :preferences, :jsonb, default: '{}' Now, you

Securing requests between two back-end applications

I’m working on a super-top-secret-but-not-really-maybe-cryptocurrency-related web product and I eventually ended up needing two back-end applications; one built in Rails and the other in Node.js The Rails application makes HTTPS requests to the Node.js application for very important things and as such securing that communication is of

Getting JSON Body from Retrofit Error (Kotlin)

Update: You can see the class we end up writing, but in Java here. I started using Kotlin in Android, yesterday. Yes, yesterday. I haven’t even done serious Android development in a while, so I was completely lost; drowning in terms like rxjava, LiveData, MVVM, AAC, Dagger and all

Testing graphql-ruby resolve classes with rspec

This is going to be a relatively short post. It’s something I just did and felt like sharing in the moment. I have this project that uses graphql-ruby (it’s an amazing gem). As you quickly find out, it’s neater to have separate classes to DRY up commonly

GraphQL: New, shiny and worth the hype!

It’s hard to keep up in the world of software development, especially these days. There’s always some new framework, library, preprocessor, server, language. Knowing which is just noise to be ignored or which is groundbreaking is not a trivial task . Also “noise” is different for everyone depending on

Pragma — A new way to build Rails REST APIs

I did some work with Alessandro Desantis recently and he introduced me into a very different, but also very reasonable way of making JSON REST APIs with Ruby on Rails. He did more than introduce me, however, he actually created the gems/framework/architecture that enforces (and greatly eases) this

Why I started writing tests — and other stories.

As a software developer, especially one with little experience, it’s very easy to get confused about what you should do and what you shouldn’t do. There are tons of articles, written by way more experienced developers telling you which software development practice is an absolute taboo and which

“Neatly” dealing with JSON.parse-d Hashes in Ruby

So you use some REST API that responds with JSON with a ton of nested objects and arrays, an example of this is the Google Maps Direction API. All you’re interested in is a value that is deep within the hash-array tunnel. { "status": "OK", "

Testing your Rails APIs with Airborne.

It took me a long long time to finally decided to write tests. I’ll probably write about the thought process and why I think you should write tests later. If you use Rails to build REST APIs, and you want the number of times the FE Engineer you’re

Very simple permissions in Rails

I was working on a very simple Rails API, using devise_token_auth and I need to authorize controller actions based on user roles. (Although, this should work fine for regular ol’ devise) I started out using cancancan and I even tried out pundit but they weren’t simple enough

Android Chat UI Library — 0.1.1

Over the past couple of months, I’ve been SLOWLY building a customizable messaging UI library for Android inspired by JSQMessagesViewController. There are increasing use cases for having a chat user interface within your application and in a lot of situations, messaging may or may not be the crux of

Building a Voice Controlled Home Automation Model — Part 4— Wit.ai

This is the fourth part in the Building a Voice Controlled Home Automation series. You can find the first part here. At the end of the third part, I explained the code that will be loaded onto the Arduino. Today, we’ll talk about Natural Language Processing. Remember, this high

Building a Voice Controlled Home Automation Model — Part 3— Arduino Code

This is the third part in the Building a Voice Controlled Home Automation series. You can find the first part here. At the end of the second part, we loaded some code (this Gist) unto our Arduino, to test if our LEDs and servos are working. Today however, we’ll

Push Notifications on the Web (Building a PWA Crossover)

Recently, Ire Aderinokun has been dropping knowledge on how to build a Progressive Web App with push notifications, local storage and all that good stuff on bitsofco.de. In the third post of the series, she goes over how push notifications were built into the bitsofcode Progressive Web App. Here’

Wit.ai Explained — Part 3— Building a bot with Sails.js

In the first part of this series, we went through some of the concepts that Wit.ai introduced in their (relatively) new Bot Engine. In the second part, we built a Rails API application using the Ruby SDK for Wit.ai to see how to wield Wit. In this part,

Building a Voice Controlled Home Automation Model — Part 2— The Circuit

This is the second part in the Building a Voice Controlled Home Automation series. You can find the first part here. Here’s a reminder of some of the stuff you might wanna read up on to get the best value from this tutorial: 1. You have to have a

Building a Voice Controlled Home Automation Model — Part 1 — Overview

I’ve always wanted to build Jarvis. Sometime last year, I was looking for something to build for a school project when I found this tutorial on how to build an Arduino controlled home automation model. The writer of that tutorial, wrote another one, that explains more of the creation

Wit.ai Explained — Part 2— Building a bot with Ruby on Rails

In the first part of this series, we went through some of the concepts that Wit.ai introduced in their (relatively) new Bot Engine. In this part, we are going to build a Rails application using the Ruby SDK for Wit.ai to illustrate how you can use Wit’s