Trolling For Self Promotion
Software Development Justin Beall Software Development Justin Beall

Trolling For Self Promotion

Recently, I discovered the Facebook page "TheSamePhotoofJeffGoldblumEveryday," which posts the same photo daily and has a huge following. This got me thinking about leveraging viral content for self-promotion. What if we could use APIs from Facebook, Google+, LinkedIn, Twitter, etc., to post shameless plugs for our own benefit? Over the next few weeks, I'll explore this idea. Currently, my blog has 879 views and 549 unique visitors. Could daily bot comments/posts on popular social media sites boost my blog traffic?

Read More
Continuous Delivery Using Docker - A React.js Application

Continuous Delivery Using Docker - A React.js Application

This article summarizes a series on Docker, culminating in setting up a continuous delivery pipeline for a React.js application. It covers creating a React.js app, testing it locally, setting up an automated Docker Hub build, running the application in a Docker container, and deploying it on AWS using Docker Cloud. The result is a continuously delivered app with Docker, demonstrating the ease and efficiency of using Docker for development and deployment.

Read More
Docker Hub Automated Build

Docker Hub Automated Build

This article guides you through setting up Docker Hub Automated Builds and enhancing your Docker workflow by linking your Docker Hub to a GitHub repository. Following an initial manual Docker build, the tutorial covers creating a repository, adding Docker as a service, triggering automated builds on code changes, and running the Docker image. This step advances your Docker skills, setting the stage for more complex projects like deploying React.js applications.

Read More
Docker Hub Hello World

Docker Hub Hello World

I set out to deploy my Docker Hub image on AWS but realized I needed to start with the basics. Following Docker's official tutorial, I learned to create a Dockerfile and set up a Docker Hub repository. I created an account, tagged, and pushed my image. The next step is setting up automated builds on Docker Hub to get the Dockerfile published and available for anyone to pull and run.

Read More
Getting Docker Running On AWS

Getting Docker Running On AWS

This article explores Docker, from a high-level overview to deploying a hello-world web application locally and then hosting it on AWS. Docker is an open-source program that packages applications and their dependencies as containers, gaining popularity for its efficiency. Following a step-by-step guide, the post covers installing Docker, running a Node.js web app, and setting up accounts on Docker Hub and Docker Cloud. It concludes with deploying the application on AWS.

Read More
Definition of Done
Software Development, Agile Justin Beall Software Development, Agile Justin Beall

Definition of Done

The Definition of Done (DoD) is a key Agile concept ensuring user stories meet specific criteria before being considered complete. It establishes clear, common terminology for all team members, eliminating ambiguity. Benefits include explicit accountability, clarity, preventing story thrashing, reducing misunderstandings, and guiding pre-implementation activities. A typical DoD checklist includes code updates, formatting, reviews, tests, documentation, and addressing performance, security, and metrics.

Read More
Proper CRUD
Software Development, Learning Culture Justin Beall Software Development, Learning Culture Justin Beall

Proper CRUD

I created a RESTful CRUD application using Angular's $resource and integrated it with a Java backend using Google Guice for dependency injection. I used JBoss WildFly as the server and employed various libraries like Jersey for the REST client and Apache Commons Lang for utility functions. The project is available on GitHub and deployed on OpenShift, showcasing CRUD operations through simple CURL commands.

Read More
Defect Definition of Ready
Software Development, Agile Justin Beall Software Development, Agile Justin Beall

Defect Definition of Ready

Defining a "Defect Definition of Ready" ensures defects are thoroughly documented before team review, saving time and resources. A good bug report should include a clear title, summary, reproducible steps, expected vs. current behavior, priority, frequency, context, and any relevant screenshots. This approach reduces churn, enhances team accountability, and improves tester-developer relationships.

Read More
Definition of Ready
Software Development, Agile Justin Beall Software Development, Agile Justin Beall

Definition of Ready

The Definition of Ready (DoR) is a checklist ensuring a product backlog item is prepared for a sprint. It prevents pulling in unready stories and releasing incomplete ones. DoR doesn't mean a story is 100% defined but must meet certain criteria. Benefits include avoiding time wastage, reducing scope creep, and keeping the team accountable. Key questions: Why, What, and How/Who. Regular backlog grooming and an example checklist ensure clarity and readiness.

Read More
GitHub Commit Message Standardization
Software Development, Learning Culture Justin Beall Software Development, Learning Culture Justin Beall

GitHub Commit Message Standardization

I realized my commit messages were weak and didn't convey the intent of the changes. Writing meaningful, committed messages is crucial for clear communication. I researched best practices and proposed standards for better commit messages. These include using a short, imperative mood summary, detailed paragraphs, and logical grouping of files. Good commit messages to speed up the review process, help future maintainers, and aid in writing release notes.

Read More
From Zero to Continuous Delivery

From Zero to Continuous Delivery

Imagine a world where a code update to fix a defect or add a feature is automatically pushed to production on commit. This is now a reality for many companies like Google, Facebook, LinkedIn, Netflix, and Etsy. Achieving continuous delivery requires cultural discipline, craftsmanship, and respect. This tutorial provides a step-by-step guide to creating a cloud-based solution for a Java web application using GitHub, Snap-CI, and OpenShift. Push code to the repository master branch, run tests, and deploy automatically.

Read More
Utilizing OpenShift To Deploy a Web Application

Utilizing OpenShift To Deploy a Web Application

Early in my web development career, I discovered OpenShift, a PaaS provider offering a free way to demo personal projects. This guide covers setting up an OpenShift account, creating a Tomcat7 application, and deploying a "Hello World" web app. Key steps include generating SSH keys, using Git for deployment, and accessing the app publicly. OpenShift's free tier is ideal for showcasing your projects online.

Read More
RESTful JSON Web Service - Jersey (v1.19)
Software Development Justin Beall Software Development Justin Beall

RESTful JSON Web Service - Jersey (v1.19)

In February 2015, I integrated CRUD operations into my AngularJS project, using $http and $resource. Lacking a solid backend, I explored Jersey to create RESTful web services. I uploaded my Maven-based project, without web.xml, to GitHub. Key steps included setting up Jersey endpoints and creating a standard CRUD operation template. Future goals include using JOOQ for database interactions.

Read More
Identifying a Senior Engineer

Identifying a Senior Engineer

Today, I interviewed a senior developer candidate at OnShift. I value passion and continuous learning over experience alone. Key questions included understanding SOLID principles, designing a small commerce site, technology stack choices, integration and deployment strategies, secure handling of customer data, and proposing new technologies. I seek candidates with a strong grasp of these concepts and a drive to improve.

Read More
Emails - Feature Toggles
Software Development, Learning Culture Justin Beall Software Development, Learning Culture Justin Beall

Emails - Feature Toggles

In January 2015, I shared an article by Martin Fowler on feature toggles with my colleagues, Dean and Bryce. The article explores the complexity and use of toggles for cohort, A/B testing, and feature releases. At OnShift, I recently developed a "feature permission" REST endpoint for beta testing new features in our mobile apps, which I may rename to "feature toggle." We're also using Google Analytics to track user flow and feature adoption.

Read More
Avoiding Interruptions
Software Development, Productivity Justin Beall Software Development, Productivity Justin Beall

Avoiding Interruptions

A colleague shared an insightful article on how interruptions impact developers: Why Developers Hate Being Interrupted. It references the Maker's Schedule and suggests two strategies to reduce interruptions: the "Headphone Rule" and blocking off periods for uninterrupted work, aligning with the maker's schedule. These techniques can help maintain focus and productivity.

Read More
Python for the Java Programmer
Software Development, Learning Culture Justin Beall Software Development, Learning Culture Justin Beall

Python for the Java Programmer

At OnShift, a Cleveland-based startup, I transitioned from 9 years of Java development to embracing Python. After a month of immersion, I appreciate Python's readability and extensive standard library. I explored the ecosystem through podcasts and compared Java and Python tools, collections, and frameworks. This shift has broadened my development perspective and highlighted the vibrant Python community.

Read More
Client-Side Web Project - Pt 2
Software Development Justin Beall Software Development Justin Beall

Client-Side Web Project - Pt 2

In February 2015, I incorporated AngularJS into my client-side web project, focusing on a zero server-side script approach. AngularJS, a SPA framework, enhances HTML interactivity through directives and two-way data binding. Key concepts include ng-directives, custom directives, filters, and routes. Using Bootstrap, Less, jQuery, PreloadJS, and AngularJS, this project aims to deploy on OpenShift soon.

Read More
What is Hadoop?
Software Development, Learning Culture Justin Beall Software Development, Learning Culture Justin Beall

What is Hadoop?

In February 2015, I joined Explorys, a company using Hadoop to manage and sell vast amounts of hospital data. Hadoop's distributed processing and fault tolerance make it ideal for big data despite the single point of failure at the name node. Key points from "Hadoop - The Definitive Guide" include its scalability, cost-effectiveness, and powerful data processing capabilities. The book provides insights into Hadoop's MapReduce framework, HDFS, and ecosystem, highlighting its role in efficient big data management.

Read More

Get In Touch

We'd love to hear from you! Whether you have a question about our services, need a consultation, or just want to connect, our team is here to help. Reach out to us through the form, or contact us directly via social media.