Cross Compiling Golang Applications For Use On A Raspberry Pi

I recently invested in yet another Raspberry Pi, this time the new Raspberry Pi Zero W, which has wireless and bluetooth.  I also made a leap and bought the camera module with it because the new official case by Raspberry Pi has a camera attachment.  Probably the most popular development technology for Raspberry Pi is Python, but I am not a fan at all.  Instead, I’ve been doing a lot of Go development and figured that would be my best bet when it comes to developing a camera application for the Raspberry Pi.  The problem with this is that if I were to compile a Go application on the Raspberry Pi Zero itself, it would probably take ten years (I joke).

Cross compiling is a thing and we’re going to see how to do this via a different operating system and architecture, yet have it be compatible on the Raspberry Pi.


Using A SQLite Database For Local Data In A Golang Application

When developing an application with the Go programming language, you might find yourself needing to save data locally.  If you’ve been keeping up you’ll remember that I’ve written about storing data remotely with Golang in a Couchbase NoSQL database, but never anything locally.  Probably the easiest way to store data locally is with a SQLite database as it is a solid technology that has been around for a while.

We’re going to see how to use a SQLite database in our Golang application to read and write local data.


Using The Docker Client With A Remote Machine Or Virtual Private Server

Not too long ago I wrote about containerizing a bunch of web applications and putting them behind an NGINX reverse proxy.  This is because I’ve been exploring the possibility of taking all my personal applications and turning them into Docker containers for easy maintenance and portability.  I currently use Digital Ocean and if I had to guess, I’m going to be using it for a lot longer as it is a great service.  So what does it take to get containerized applications on Digital Ocean or any other remote machine?

We’re going to take a look at creating and defining a remote machine in Docker and deploying containers on it.


Decode Map Values Into Native Golang Structures

I personally think that Golang is a great development technology and one of the better that I’ve used.  However, there is no such thing as a perfect development technology.  That said, there are things to be desired in Golang out of the box.  For example, I always find myself wishing that I could use type assertions to decode map values into a defined Go data structure.

Using a nifty package, this actually becomes a possibility and without much extra effort.  We’re going to see how to take a map and convert it into a custom structure.


Using Couchbase With Docker And Deploying A Containerized NoSQL Cluster

You can do a lot of cool things with Docker, for example containerizing web applications, processes, and a bunch of other things.  What happens when you want to deploy your database as a container, or more specifically, your distributed database as containers?  Most NoSQL databases are distributed, meaning they can be easily clustered with data replication and a bunch of other awesome features.  How do you provision each node or configure the cluster?

We’re going to see how to create a custom Docker image for the popular document-oriented NoSQL database, Couchbase, and cluster a few containers together to make one awesome NoSQL cluster.


Tour Of Heroes As A NativeScript With Angular Android And iOS Application

When it comes to learning Angular, the go-to example is the Tour of Heroes tutorial that is found in the official Angular documentation.  This is a great tutorial because it covers a lot of topics, however, it is a web application tutorial.  What if we wanted to build a mobile application from it, or more specifically, a native mobile application with Android and iOS support?

We’re going to see how to build a Tour of Heroes inspired iOS and Android mobile application using Angular and NativeScript.


Define Docker Container Networking So Containers Can Communicate

So I was recently playing with Docker using a mixture of docker-compose and the docker commands and I found myself with a container communication issue.  I was trying to spin up a container to communicate with containers launched via docker-compose, but my new container couldn’t find these other containers.  This is because there was a networking issue between how the Compose containers were running, versus vanilla.

So what do you need to do when it comes to networking and communication between containers?


Continuous Deployment Of Web Application Containers With Jenkins And Docker

Continuous deployment (CD) is a very interesting subject.  Being able to establish a build pipeline that deploys your application once building is complete is a fantastic form of automation.  Jenkins is one of the most popular, if not the most popular, continuous integration (CI) and continuous deployment tool available.  Traditionally one would create a workflow in Jenkins that pulls from Git, builds, and deploys the packaged application to another server via SSH.  However, this process could become even more efficient using Docker and containers.

We’re going to see how to use Jenkins to build a Docker image and deploy the image as a container, replacing any previously existing containers in the process.


Build An Image Manager With NativeScript, Node.js, And The Minio Object Storage Cloud

When building a mobile application, there are often scenarios where you need to storage files remotely and when I say files, I don't mean database data.  For example, maybe you want to develop an image manager or photo storage solution like what Facebook and Instagram offer?  There are many solutions, for example you could store the files in your database as binary data, or you could store the files on the same server as your web application.  However, there are better options, for example, you could use an object storage solution to store files uploaded from your mobile application.  Popular object storage solutions include AWS S3 as well as the open source alternative Minio.

We're going to see how to leverage Minio to store images that have been uploaded from an Android and iOS mobile application built with NativeScript and Angular.

Creating And Using Custom Pipes In An Angular Web Application

When I’m developing with Angular, I often find myself needing to loop over an object via HTML markup.  In AngularJS one could loop over object properties or arrays, but in Angular you can only loop over arrays by default.  This is easily fixable through what are known as Angular Pipes.

With pipes you can create display-value transformations for pretty much anything, or in my case transform an object into an array and loop over it.  We’re going to see how to create a pipe that will allow us to loop over an object in the HTML layer.