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
Client-Side Web Project - Pt 1
Software Development Justin Beall Software Development Justin Beall

Client-Side Web Project - Pt 1

In February 2015, I explored implementing a pure client-side interface using AngularJS, emphasizing the flexibility of JavaScript and modern browsers. The project avoids server-side scripts, making it adaptable to any web server. Best practices include placing JavaScript before the closing `</body>` tag, placing CSS in the `<head>` tag, and using resource versioning to prevent caching issues. Technologies used are Bootstrap, Less for CSS, jQuery, and PreloadJS for JavaScript. For color schemes, I leveraged Paletton and Less for easy theme management.

Read More
Effective Java
Software Development, Learning Culture Justin Beall Software Development, Learning Culture Justin Beall

Effective Java

In December 2014, I explored "Effective Java" by Joshua Bloch, uncovering valuable best practices. Key concepts included using static factory methods for readability, minimizing accessibility and mutability for better encapsulation, preferring composition over inheritance, leveraging generics for type safety, and implementing singletons with enums. These insights will enhance my coding practices at Explorys.

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.