Our blog contains posts written by Callibrity consultants on topics they find interesting. We encourage each other to participate in the virtual business and technical communities on the Internet, to raise our voices and share our passions.
With a Two - Year Revenue Growth of 68 Percent, Callibrity Ranks No. 199 on Inc. Magazine’s List of the Midwest’s Fastest - Growing Private Companies. Companies on the 2021 Inc. 5000 Regionals: Midwest list employed more than 43,000 people.
In the last blog, we talked about what gRPC is and how to use it to build a simple service. In this blog, we will continue our journey of exploring gRPC by covering topics like client/service streaming (unidirectional and bi-directional) and “language interpolation”, where the client and server are written in different languages but communicate with each other using protobuf.
Red/black, blue/green, A/B, canary, rolling… There are hundreds of articles written on these application deployment strategies. As with any newer approach in tech, it can be difficult to discern the practical applications from the hype. We will take a look at these strategies, how they evolved, and whether your application can benefit from them. Finally, we will cover the symbiotic relationship between these deployment strategies and hosting your application in the Cloud.
Every year the Cincinnati Business Courier releases their list of winners for the Best Places to Work awards, an annual program that recognizes companies and organizations for their outstanding workforce engagement. Callibrity has been a Best Places to Work finalist for 5 years in a row. Now we are happy to announce that Callibrity is a Cincinnati Best Places to Work 2020 winner!
For the 4th time in a row, Callibrity appears on the Inc. 5000, ranking No. 3,118 with Three-Year revenue growth of 123 percent. NEW YORK, August 12, 2020 — Inc. magazine today revealed that Callibrity is No. 3,118 on its annual Inc. 5000 list, the most prestigious ranking of the nation’s fastest-growing private companies.
The Jakarta RESTful Web Services (formerly Java API for RESTful Web Services) specification provides a robust framework for writing RESTful (and not-so-RESTful) web services in Java. The JAX-RS API allows for Resource (the service itself) and Provider (enrichers providing cross-cutting concerns) implementations to be written in a very modular, testable way.
In this day and age who would bother developing solutions on anything but the public cloud? The answer: more people than you would think. Many companies provide essential services to a loyal customer base but have not invested in moving their infrastructure to the cloud. Why is this?
I have been getting into the gRPC world for quite a while. It’s been on my radar for a long time ever since I got myself into Protobuf, but I never got the chance to use it until last year (If you are unfamiliar with protocol buffer, I wrote an introductory blog a few years ago about it).
Overview In this tutorial, we will be building a simple Spring Boot application and deploying it to a local Kubernetes cluster. We will explore some helpful utility libraries for adapting Spring Boot to the Kubernetes way of doing things.
You’ve decided it is time to get on board the DevOps movement and implement continuous integration and continuous deployment of your applications. Or maybe you’ve been doing this for a while but are looking to explore a new tool.
Callibrity was challenged with the task of helping PLXIS, a client that was working in the credit card processing domain, with several technical obstacles to improve developer support and to support multiple clients. During this project, the solutions proposed by Callibrity enabled PLXIS to solve bugs efficiently, facilitate scaled reporting and use multitenancy to support multiple clients.
Continuing with our last database index blog, in this part 2, we will briefly look at how B+ tree is used in the actual database system to indexing data, also we will take a brief comparison of the difference between the relational database and no-sql database. The widely used MySQL will be used as an example throughout this blog.
If you're a parent and find yourself suddenly homeschooling your children, we have put together a list of our favorite resources for all ages to learn software development. If you're interested in getting more STEM/STEAM resources into your children's hands right now, check out these recommendations. Each of these books, apps, and websites are 100% free to use or have free promotional offers. Shout outs to all the teachers out there too, we appreciate you more than you know!
In the midst of the global COVID-19 pandemic, many tech companies are finding themselves working remotely and under-prepared. Some tech companies like GitLab - the largest all-remote company in the world, have no physical offices and roughly 400 employees so working remotely is business as usual. Other companies, like Twitter, just told all it's 5000 workers in 35 offices around the world to work from home.
When thinking of how organizations implement DevOps, a church is generally not the first prospect that comes to mind. Callibrity worked with Crossroads, a Cincinnati based church organization, to help establish a national presence. Crossroads’ digital product team worked alongside Callibrity to create software solutions that can support Crossroads’ large and expanding user base. With the support of Callibrity, Crossroads embraced modern, scalable approaches such as DevOps from ideation to deploying code to production.
Recall a meeting where multiple individuals of a team started getting into a heated discussion. As it escalated, you envisioned ways you could escape unscathed. Maybe you were someone who was strong in their beliefs and became frustrated when others didn’t see your point. Perhaps, it started as a brainstorming session with a ton of ideas thrown out but no solution was agreed upon. Regardless of the situation, we have all been a part of the dreaded “unproductive” meeting.
About 4 months ago, I was given the opportunity to architect a greenfield react project with staggering amounts of complexity. I had only heard of hooks in passing before this project, but knew they were the new hotness in the world of front-end react development. Hooks could purportedly remove the need for redux as a state management tool, cut boilerplate code in half, and improve performance significantly. I thought to myself, "These claims are obviously exaggerated. Surely a production grade application with a feature rich front-end needs class components, right?"
Guest blog post by Drew Kincius @ beLithe, an Indianapolis based Agile consulting firm. Callibrity and beLithe are partnering to host a 2-day Management 3.0 workshop in Cincinnati November 14th - 15th 2019. Read more about what Management 3.0 is and the principles of leading by letting go.
In a previous post I talked about Agile frameworks, what they are, and why you should use one. The next question you should ask is “which one”, and the purpose of this series is to explain each of the most popular frameworks in a non-biased way, in an effort to answer this question. In this post, we will explore the Agile methodology of “Lean".
In 2017, there were 8 billion connected devices to the internet globally; by the end of 2020, there will be over 30 billion connected devices to the internet. This exponential increase is powering the phenomena that is The Internet of Things (IoT). IoT leverages network connections that facilitate communication between devices and systems. With all kinds of devices now being able to connect to the internet, IoT provides businesses with untapped opportunities.
Serverless is one of the latest buzzwords flying around in technology circles. It's hard to keep up with what it means and, more importantly, how it can be used. I spent the last few days at Serverless Conf 19 in NYC and here are some important takeaways.
In Part 1 of this series we took a look at some common symptoms of organizations that could benefit from the adoption of DevOps principles. In this post we’ll dig a little deeper into DevOps and answer questions like: Where did DevOps originate? How does DevOps define itself? And what are some of DevOps core tenants?
Cincinnati area software development firm Callibrity has named James Carman as Chief Technology Officer. Carman comes from his own IT consulting firm, Carman Consulting, where he served as President and has been a valued member of the Cincinnati technology community for over two decades.
Many of us work with databases occasionally or daily. And I bet all of us are being told that to speed up the query speed, we can create and use index for tables. But probably few of us know how index is actually implemented under the hood, myself included. So I started developing an interest in this topic a while ago and wanted to know, at least at a high level, what makes database indexing happens.
In 2001, the Agile Manifesto was created at Snowbird ski resort in the Wasatch mountains of Utah. Although the concepts of Agile had been around for several years before the manifesto was created, the birth of the manifesto may well be a good point to say that Agile was officially “born.” Since this time, people have been inventing and reinventing ways of working that they feel best align with Agile while still incorporating their own organizational culture.
The trend of moving data from on-premise servers to private and public cloud solutions continues. The privacy, security, cost and performance of a solution remain the key drivers for enterprise IT data decision-makers. Let’s take a look at the pros and cons of on-premise vs. cloud storage from an organizational perspective.
Firms are realizing that tech talent is key. Tackling new digital efforts with current IT staff can be a challenge. Stoic architecture must first be upgraded before heading down the digital path. Building a solid tech foundation is step 1 for industry laggards.
The development team finished the product 3 weeks ago, but it’s still not in production. You released a new feature and half the website went down. A significant amount of your day is spent dealing with production outages or issues. No matter what your role is, if you work in a technology organization, chances are you’ve heard the term DevOps. If any of the above problems sound familiar, chances are your company could benefit from adopting DevOps practices.
Continuing the JVM blog series, this is part 3 of a JVM adventure. This post doesn't require you have the knowledge covered in my previous blogs Part 1 and Part 2, however, I still highly suggest you read them so that you will have a better understanding of materials covered here.
Whether you are a young developer or a seasoned professional, one of the hardest parts of software development is finding a juicy project to work on. Hackathons are the solution to that problem. Checkout the latest hackathon that Callibrity participated to learn more.
This is part 2 of my previous blog, if you haven't read the previous one, I strongly suggest you read that before diving into this blog. In this blog, we will take a further look of JVM garbage collection (GC) - the available garbage collectors given by JVM or more precisely HotSpot JVM.
Senior Software Developer, Jack Merideth was selected as a speaker at Stir Trek in 2019. He recaps his experience as a first-time speaker himself, and shares some of his favorite talks in this blog post.
One of the greatest tools in the functional programmer’s tool belt is the notion of composure. It’s a pattern that allows you to take two things and combine them, like LEGO pieces or the segmented tracks of a train set, and join them together in a myriad of ways with different structures or pathways each time.
Most software engineers have heard of Java or JVM garbage collection (GC) but probably not all of us have paid much attention to it, so we rely a lot on the default settings. Especially for me, being an engineer from a non-JVM language background, the majority of my time was spent on C/C++ development. I didn't get into how garbage collection works until I started working in a position in the IT industry.
The term “Agile Coach” has many interpretations. One of the most common seems to be Agile Expert or Agile Consultant. Perhaps it is because we don’t usually use the word “Coach” in the software industry. Can you imagine a Java Coach or a Docker Coach? To be a good Agile Coach, you do need to have Agile Expertise, but I think you need more than that.
I am an engineer, and I have daughters, so I am big on encouraging women in STEM and sharing my love of math and science with them. We were planning a trip to Cape Canaveral and my friend suggested I get the book “Women in Science: 50 Fearless Pioneers who changed the World” by Rachel Ignotofsky. After finding it on Amazon, I immediately went to the index to see if I approved of the book or not. It needed to have three women in it for my approval. It did, so I bought it and the girls enjoyed reading it on the trip.
Some of the best advice I’ve ever received in my professional career, came from the CEO of a large and successfully run credit union. I sought this gentleman’s advice because he had a reputation for creating a collaborative culture that attracted members and talent almost effortlessly. I wanted to know his secret and how to apply it to the way I approached and recruited individuals.
A button is clicked, a modal opens, and a form requests more information. A lot of information to parse, but visually, such things are easy: the button has a visual indicator of when it has been pressed: the modal grays out the site as it opens, bringing visual focus to it; and the form has a message in its space so that the context is not lost.
Ever since Docker began to gain popularity a few years ago, it has been struggle to create containers inside containers themselves. The most widely used method of employing docker-in-docker has a troublesome quirk: you have to directly mount the docker unix socket to the building container which runs the risk of sending arbitrary commands to the host docker daemon.
I recently had the opportunity to attend Kubecon / CloudNativeCon in Seattle. This was the 3rd annual North American conference put on by the Cloud Native Computing Foundation (CNCF) and they did an incredible job.
Each year the Business Courier recognizes Greater Cincinnati employers with the most engaged workforces. Out of 185 local companies nominated, 65 finalists were chosen who were rated the highest and earned a minimum score in one of five size categories.
How do big brands like Subway drive customer engagement when there are manual processes in place, hundreds of transactions per second worth of data, and the competition for hiring top software developers continues to rise?
I hate dishes. Like, I really, truly, deep down in the bottom of my heart’s right ventricle hate dishes. And when I’ve made dinner and then spent the successive half hour cleaning up the mess I made in the kitchen as a result of said dinner preparations, I get annoyed, nay, angry when someone decides to make another mess in the kitchen and leave it dirty.
Disclaimer: I have yet to figure out how to write unit and integration tests for articles and blog posts. Ideally, all of my punctuation problems would be hashed out in unit tests; while integration tests would make sure that it all flows together. So I apologize in advance for any bugs in my blog post.
Welcome to the final installment of this three-part series on coding theory. If you have not had the opportunity to read the first two pieces, it is highly recommended that you do before continuing on. They are available here:
In this series on the management of skill acquisition, the ways in which skills are acquired was discussed in the first part, and the mathematical modeling of skill acquisition and atrophy was discussed in the second. But no modeling can capture all the complexity and nuance of the real world, especially in the ways the members of a team acquire skills. There are always exceptions to rules, and consequences that follow from them.
The managers of development teams are in serious trouble! Since they are responsible for the people maintaining and enhancing an existing set of products and services, and possibly creating and developing new ones, enough people with the right skills are needed to get all these jobs done. Anything less will cause the team to collapse from being under-skilled or overworked. And they’re being squeezed hard to do more with less.