Core ML

Core ML After Dark

Derek Andre Machine Learning, Mobile, Technology Snapshot, Tutorial Leave a Comment

So you’ve made this great social media app, and you are about to sit back and wait for the money to roll in. But, there is a problem: people keep trying to upload nude photos to it.

What if we could have a trained machine learning model that could detect not safe for work (NSFW) content and do it on a iOS device, before any image would be uploaded to a server?

Developing this trained machine learning model is way out of scope for this blog post. Luckily, the good people at Yahoo have already done this with their open-sourced trained Caffe models. The question now is, how can we use this on an iOS device?

In this post: The sultry side of your iPhone can collide with acceptable use policies. We introduce a machine learning solution that can help your application decide what is truly too hot for the internet using Core ML on iOS…

OpenShift Quick Start

David Pitt AWS, DevOps, Docker, Microservices, OpenShift Leave a Comment

Our previous blog in the series introduced RedHat’s OpenShift solution that provides a way for enterprise teams to implement their own PaaS. Essentially, it sits atop the Docker-based Kubernetes platform to provide a ready-to-use DevOps platform.

This blog introduces two hands-on exercises (taken from our OpenShift Course), that work to walk you through the following tasks:

– Installing OpenShift locally
– Adding a Container with an API service to a Pod

Unfortunately, it will take more than this quick start blog to get OpenShift installed and enabled in an enterprise. That said, developers, system admins, and any party that may be working on or responsible for the platform, will benefit from understanding how to get OpenShift up and running on a local machine as shown in this blog.

Managing Docker Containers with OpenShift and Kubernetes

Casey Justus AWS, DevOps, Docker, Microservices, Technology Snapshot Leave a Comment

For the last few years, Docker containers have been all the rage in the DevOps world. After all, what’s not to like? They allow you to strip out 99% of stuff in your VM and just deploy your code.

Containers can save resources, speed deployment, scale well and offer more fault tolerance. But how do you manage them?

In my experience, the Docker Machine and Docker Swarm stack hasn’t lived up my to expectations. It has a limited API, no support for monitoring and logging, and much more manual scaling. AWS’s EC2 containers scale well, but you’ll be locked into Amazon.

In my opinion, the best current stack for Docker containers includes Kubernetes and OpenShift. In this blog I will give a brief introduction to Kubernetes + OpenShift with an eye for what they do well…

Web Development Business

The Executable Code Review

Tim Broyles Programming, Testing Leave a Comment

Testing has a bad rap. The thought of writing unit tests to exercise code with the goal of 100% code coverage can be overwhelming for many projects. The number of man-hours to set up tests, create mocks when needed, test boundary conditions, contrive odd ball test cases can take some steam out of the project. If this is the definition of test, then yes, writing these types of tests can be tedious and feel meaningless.

I am a proponent of writing tests with a narrow focus. The tests I describe here show the completion of a story or the resolution of a bug. With this narrowness in mind, the task is much less daunting. My goal now is not about code coverage, but more about quality code. With this test, I want to be able to demonstrate to myself (and to whoever is reviewing my changes), that I have successfully resolved my task.

In this blog I will talk about my suggestions for writing meaningful tests in the context of a code review.

Could the Equifax Hack Have Been Prevented by a Microservices Architecture?

David Pitt Architecture, DevOps, Java, Microservices, Opinion, Security Leave a Comment

When I heard that the Struts Open Source framework played a role in the recent Equifax hack, I wanted to do some research to understand how it happened. Struts is a commonly-used Java framework that I have applied in the past. And I’m not alone in that: it is reported that in 65% of Fortune 500 companies currently implement Struts in some way.

So, I did a little digging and performed a thought experiment asking myself the following question: “If Equifax had a pure-play Microservices Architecture in place, would it have solved the problem?”