- Published on
In the mission-driven nonprofit world, accounting and financial management can sometimes slip down the priority list. It’s not always easy to allocate budget dollars to back office infrastructure that doesn’t directly support the nonprofit agenda, and it’s even harder to find the time and expertise to make it all work. Consider some of the obstacles:
These issues aren’t part of most nonprofit organization’s core competencies. That’s why many nonprofits are increasingly turning to new-generation cloud-based solutions to automate financial management. Cloud-based financials enable the application vendor to deliver shared, scalable services that the nonprofit agency can access over the Internet using a web browser or mobile device. There’s no need to buy, own, license, understand, manage, or control the underlying hardware, software, or data / networking infrastructure that supports the financial infrastructure. Cloud services are typically delivered on a term-based subscription basis, eliminating the need for upfront software licensing fees or major purchases of hardware. The result is cost-effective, anytime, anywhere managed access. While the urge might be to invest in programs rather than technology, it may be wise to calculate how a modest investment in technology can transform operations and ultimately help better manage programs. Cloud technology is much easier to implement than legacy systems of the past, and quickly delivers return on investment.
What do nonprofit financial leaders have to say about their move to the cloud?
“All of our chapters can access our cloud-based financials,” said Nikki Jones, Controller, Healthcare Businesswomen’s Association. “We have volunteers working all over the world at all hours of the day and night. With our system, they access the same world-class financial foundation that many companies use. Our board and chapter leaders have real-time access to reports, registrations, metrics, and analyses. That means we’re constantly on top of our operation and can make strategic decisions faster. For us, the cloud is critical. It’s the only way to go.”
“Cloud financials are absolutely key to running a nonprofit today,” said James Linday, Vice President and CFO, Great Books Foundation. “Now we can eliminate lots of manual work, be more productive, and eliminate all of those capital investments. This is a predictable, flat operating expense, and we save at least $30,000 a year this way.”
In nonprofit financial management, survival depends on predictable costs, a reliable infrastructure, and world-class functionality.
Key Best Practices for Survival:
- Capital investment for software and hardware
- Facilities and expert personnel to implement and maintain the system
- Lengthy deployment cycles
- Capacity / scalability
- Reliability / availability
These issues aren’t part of most nonprofit organization’s core competencies. That’s why many nonprofits are increasingly turning to new-generation cloud-based solutions to automate financial management. Cloud-based financials enable the application vendor to deliver shared, scalable services that the nonprofit agency can access over the Internet using a web browser or mobile device. There’s no need to buy, own, license, understand, manage, or control the underlying hardware, software, or data / networking infrastructure that supports the financial infrastructure. Cloud services are typically delivered on a term-based subscription basis, eliminating the need for upfront software licensing fees or major purchases of hardware. The result is cost-effective, anytime, anywhere managed access. While the urge might be to invest in programs rather than technology, it may be wise to calculate how a modest investment in technology can transform operations and ultimately help better manage programs. Cloud technology is much easier to implement than legacy systems of the past, and quickly delivers return on investment.
What do nonprofit financial leaders have to say about their move to the cloud?
“All of our chapters can access our cloud-based financials,” said Nikki Jones, Controller, Healthcare Businesswomen’s Association. “We have volunteers working all over the world at all hours of the day and night. With our system, they access the same world-class financial foundation that many companies use. Our board and chapter leaders have real-time access to reports, registrations, metrics, and analyses. That means we’re constantly on top of our operation and can make strategic decisions faster. For us, the cloud is critical. It’s the only way to go.”
“Cloud financials are absolutely key to running a nonprofit today,” said James Linday, Vice President and CFO, Great Books Foundation. “Now we can eliminate lots of manual work, be more productive, and eliminate all of those capital investments. This is a predictable, flat operating expense, and we save at least $30,000 a year this way.”
In nonprofit financial management, survival depends on predictable costs, a reliable infrastructure, and world-class functionality.
Key Best Practices for Survival:
- Move financial management to the cloud for optimal accessibility and lower cost
- Enable global real-time access to financials, reports, and analyses
- Use cloud architectures to eliminate manual work and improve productivity while providing world-class functionality that far exceeds primitive single-user tools
- Published on
Earning Gold Partner status with Microsoft enables Leaf Software Solutions to further meet the current and future needs of customers seeking application development and integration.
CARMEL, IND. (August 20, 2020) – Leaf Software Solutions has earned Microsoft Gold Partner status. The Gold Status is reserved for those partners who have agreed to collaborate and establish a close working relationship with Microsoft. The title communicates to the marketplace that Leaf has applied itself and has earned the highest standard of Microsoft’s widely recognized competency program.
Justin Kruse, who leads the Microsoft Power Platform practice at Leaf stated, “Our team, with their 50+ years of combined experience developing Microsoft applications, has proven expertise delivering quality solutions to the marketplace. By earning Gold Partner status, we are now better prepared than ever to take on the complex problems that businesses are encountering through thoughtful software development using the Microsoft Power Platform.”
To earn the Gold Partner status with Microsoft, the team of dedicated software development experts at Leaf demonstrated expertise in the applications and infrastructure areas of business and technology including application development, app integration, cloud platform, and DevOps. These competencies are designed to not only prepare Microsoft Partners to meet customer needs, but also to help attract new customers who are looking for Microsoft-certified solution providers. Leaf Software Solutions now stands apart from their peers by being part of this elite tier within the Microsoft Partner Network.
About Leaf Software Solutions:
Leaf Software Solutions has been delivering mission critical business solutions for 33 years. Our consultative approach results in custom-tailored solutions that create value for your business.
CARMEL, IND. (August 20, 2020) – Leaf Software Solutions has earned Microsoft Gold Partner status. The Gold Status is reserved for those partners who have agreed to collaborate and establish a close working relationship with Microsoft. The title communicates to the marketplace that Leaf has applied itself and has earned the highest standard of Microsoft’s widely recognized competency program.
Justin Kruse, who leads the Microsoft Power Platform practice at Leaf stated, “Our team, with their 50+ years of combined experience developing Microsoft applications, has proven expertise delivering quality solutions to the marketplace. By earning Gold Partner status, we are now better prepared than ever to take on the complex problems that businesses are encountering through thoughtful software development using the Microsoft Power Platform.”
To earn the Gold Partner status with Microsoft, the team of dedicated software development experts at Leaf demonstrated expertise in the applications and infrastructure areas of business and technology including application development, app integration, cloud platform, and DevOps. These competencies are designed to not only prepare Microsoft Partners to meet customer needs, but also to help attract new customers who are looking for Microsoft-certified solution providers. Leaf Software Solutions now stands apart from their peers by being part of this elite tier within the Microsoft Partner Network.
About Leaf Software Solutions:
Leaf Software Solutions has been delivering mission critical business solutions for 33 years. Our consultative approach results in custom-tailored solutions that create value for your business.
- Published on
New technologies and growing expectations are changing the job of CFOs like never before. An article in Forbes put the matter like this: “Perhaps chief technology evangelizer, chief strategic engineer or chief operations partner should share the billing with the finance title. CFOs today are expected to fill all of these roles.”
To be more strategic and a champion of growth, CFOs need to embrace technology in all its forms. Deloitte research indicates seven technologies that have growing interaction and relevance for how the work of finance gets done:
“Together, [these technologies] form a toolset finance can use to improve its own performance and serve the business more effectively, especially when they are used together,” according to Deloitte.
Elevating finance to the cloud
In particular, tech-savvy CFOs are looking to the cloud to expedite financial accounting tasks and get the insights they need to grow their business. Cloud-based financial management solutions such as Sage Intacct are essential to progressive CFOs for several reasons:
Kevin Craig, managing director at Concur Canada, summed up the benefits of cloud technology this way: “Ultimately, cloud-based solutions are the key to allowing CFOs to take on the evolving role they are expected to fill. With emerging technologies and increased automation helping to remove much of the mechanical burden placed on a CFO, these business leaders are free to concentrate on adding value in the form of creative innovation and strategic direction to continue moving their business forward.”
Grow your company and your role with Leaf Software Solutions
Technology in and of itself has little value without the right partner. That’s why you can trust the professionals at Leaf Software Solutions to select and implement a business technology solution for your organization one that helps you meet current needs and provides a platform for growth.
Contact us today and let us know how we can help.
To be more strategic and a champion of growth, CFOs need to embrace technology in all its forms. Deloitte research indicates seven technologies that have growing interaction and relevance for how the work of finance gets done:
- Cloud computing
- Process robotics
- Visualization
- Advanced analytics
- Cognitive computing
- In-memory computing
- Blockchain
“Together, [these technologies] form a toolset finance can use to improve its own performance and serve the business more effectively, especially when they are used together,” according to Deloitte.
Elevating finance to the cloud
In particular, tech-savvy CFOs are looking to the cloud to expedite financial accounting tasks and get the insights they need to grow their business. Cloud-based financial management solutions such as Sage Intacct are essential to progressive CFOs for several reasons:
- Greater operational efficiency. Sage Intacct replaces the “million spreadsheet march” with smart and streamlined automated financial processes, including order-to-cash, procure-to-pay, and project accounting. Sage Intacct has the flexibility to automate workflows including PO approvals, automatic invoicing, and more without a spreadsheet in sight.
- In-depth insights, on demand.Sage Intacct provides comprehensive, real-time financial reporting and analysis, giving CFOs an up-to-the-minute picture of their entire organization. They can create any report, dashboard, or visualization they need with the precise metrics that matter to investors, lenders, executives, and department leaders.
- More productivity, flexibility at less cost. Sage Intacct eliminate the hardware costs and IT burdens while delivering the advantages of modern financial software with lower costs, more security, and increased productivity. In addition, Sage Intacct implementations can be adapted including functionality, reports, and analyses to stay in step with changing business requirements. In this way, CFOs sidestep the painful capital investments, and tap into the power of sophisticated, high-performance financial software that’s managed by experts in a world-class data center.
Kevin Craig, managing director at Concur Canada, summed up the benefits of cloud technology this way: “Ultimately, cloud-based solutions are the key to allowing CFOs to take on the evolving role they are expected to fill. With emerging technologies and increased automation helping to remove much of the mechanical burden placed on a CFO, these business leaders are free to concentrate on adding value in the form of creative innovation and strategic direction to continue moving their business forward.”
Grow your company and your role with Leaf Software Solutions
Technology in and of itself has little value without the right partner. That’s why you can trust the professionals at Leaf Software Solutions to select and implement a business technology solution for your organization one that helps you meet current needs and provides a platform for growth.
Contact us today and let us know how we can help.
- Published on
Are you adding new locations? Opening another office? Congratulations! Your business is on a growth path. While it’s exciting to cut the ribbon or open the bottle of the bubbly to celebrate, challenges await. New entities add complexities to your organization that your QuickBooks financial software isn’t built to handle.
Some of these include: decentralized payables, inter-entity transactions, multiple currencies, and global consolidations – all of which require a purpose-built financial management system such as Sage Intacct. Whether your business is global or domestic, simple or complex, now you can close the books faster and gain the visibility you need even as your operations grow and evolve.
Get quick and accurate closes with automated consolidations
Finance teams in distributed organizations struggle with QuickBooks inability to quickly consolidate information at period close or when it’s needed for decision making. Sage Intacct’s multi-entity structure allows you to consolidate multiple entities with just a couple of clicks. Now you get accelerated closes, improved accuracy, and better visibility. Plus, every global consolidation includes a detailed journal entry report for easy audibility.
Easily manage multiple currencies
Sage Intacct automates the management of multiple currencies, saving you time and increasing accuracy. You’ll use up-to-date exchange rates for currency conversions and revaluations, and instantly access information on currency gains and losses. You can also produce reports in your headquarters? currency or the entity’s local currency.
Save time and effort with simple setup and maintenance
With Sage Intacct, all your business entities reside in one system. You can quickly set up policies, procedures, workflows, and reporting for new entities regardless of the complexity of your multi-entity structure. For example, you can easily configure each new entity with unique definitions. Or automatically “inherit” centralized definitions’ workflows, charts of accounts, period definitions, and lists across entities for a standard, organization-wide configuration. You can also opt for automated inter-entity transactions with manageable rules, making it easier to centralize payables and receivables.
Give the right people the right access with permissions
Sage Intacct provides permissions that can be scaled to just the location the user works in and to just the area that person needs to see. For example, you may want a person to be able to enter sales orders for their entity, but they don’t need to see everything that’s going on in purchasing. Also, you may want a manager to be able to pull a report just for their department without being able to delve into the financial information of the whole company.
Take advantage of fast, flexible reporting
Giving people self-service access lets them get to the information they need – when they need it – to help their part of the company grow, and you don’t become a single source for constant requests. And Sage Intacct makes it easy to quickly produce accurate financial reports, regardless of your organization’s complexity. You can get insights from real-time visibility with instant roll-up reporting (single currency) or push-button consolidations (multiple currencies). What’s more, you can easily switch between consolidated and local views for further insights into the figures.
Growing businesses trust Leaf Software Solutions
QuickBooks, while excellent for new businesses, wasn’t designed for the complexities of multi-entity organizations. Whether you’re expanding geographically or diversifying your business, rely on Sage Intacct to keep you in control across your company. The professionals at Leaf Software Solutions can create and implement a technology solution that meets your unique business requirements now and as you grow. Contact us by phone or email and let us know how we can help.
Some of these include: decentralized payables, inter-entity transactions, multiple currencies, and global consolidations – all of which require a purpose-built financial management system such as Sage Intacct. Whether your business is global or domestic, simple or complex, now you can close the books faster and gain the visibility you need even as your operations grow and evolve.
Get quick and accurate closes with automated consolidations
Finance teams in distributed organizations struggle with QuickBooks inability to quickly consolidate information at period close or when it’s needed for decision making. Sage Intacct’s multi-entity structure allows you to consolidate multiple entities with just a couple of clicks. Now you get accelerated closes, improved accuracy, and better visibility. Plus, every global consolidation includes a detailed journal entry report for easy audibility.
Easily manage multiple currencies
Sage Intacct automates the management of multiple currencies, saving you time and increasing accuracy. You’ll use up-to-date exchange rates for currency conversions and revaluations, and instantly access information on currency gains and losses. You can also produce reports in your headquarters? currency or the entity’s local currency.
Save time and effort with simple setup and maintenance
With Sage Intacct, all your business entities reside in one system. You can quickly set up policies, procedures, workflows, and reporting for new entities regardless of the complexity of your multi-entity structure. For example, you can easily configure each new entity with unique definitions. Or automatically “inherit” centralized definitions’ workflows, charts of accounts, period definitions, and lists across entities for a standard, organization-wide configuration. You can also opt for automated inter-entity transactions with manageable rules, making it easier to centralize payables and receivables.
Give the right people the right access with permissions
Sage Intacct provides permissions that can be scaled to just the location the user works in and to just the area that person needs to see. For example, you may want a person to be able to enter sales orders for their entity, but they don’t need to see everything that’s going on in purchasing. Also, you may want a manager to be able to pull a report just for their department without being able to delve into the financial information of the whole company.
Take advantage of fast, flexible reporting
Giving people self-service access lets them get to the information they need – when they need it – to help their part of the company grow, and you don’t become a single source for constant requests. And Sage Intacct makes it easy to quickly produce accurate financial reports, regardless of your organization’s complexity. You can get insights from real-time visibility with instant roll-up reporting (single currency) or push-button consolidations (multiple currencies). What’s more, you can easily switch between consolidated and local views for further insights into the figures.
Growing businesses trust Leaf Software Solutions
QuickBooks, while excellent for new businesses, wasn’t designed for the complexities of multi-entity organizations. Whether you’re expanding geographically or diversifying your business, rely on Sage Intacct to keep you in control across your company. The professionals at Leaf Software Solutions can create and implement a technology solution that meets your unique business requirements now and as you grow. Contact us by phone or email and let us know how we can help.
- Published on
SupplyKick is an innovative online e-commerce company specializing in selling goods online on Amazon.com and other online retailers. Their mission is to simplify and revolutionize the world of e-commerce and grow manufacturer’s brands to their full potential through lasting partnerships. The goal with this project was to find a more accurate approach to predict sales, to inform order restocking and inventory levels. As an Amazon retailer, overstocking leads to high warehouse storage charges, while understocking risks running out of inventory, bringing sales to a halt. This is a very complex problem for humans to solve as each product has different ordering trends and seasonality.
Let’s try getting some predictions! After no training, here’s how well the model fits to the training data. It’s pretty terrible, but this is what we expect without any training. This would be like walking into a calculus test without even having heard what math is. After training on the data 100 times we are given the following result.
Let’s try getting some predictions! After no training, here’s how well the model fits to the training data. It’s pretty terrible, but this is what we expect without any training. This would be like walking into a calculus test without even having heard what math is. After training on the data 100 times we are given the following result.
So, what exactly is Machine Learning?
Machine learning is a growing concept in computer science, where scientists attempt to teach computers to learn abstract concepts just as a human would. This is a major paradigm shift from traditional programming, in which programs operate using a set of logical rules that are explicitly stated by programmers. In machine learning, the programmers instead develop a model, a structure that is able to learn the data that the user feeds into it.
One example that illustrates the difference between traditional and machine learning is trying to read handwriting. With traditional programming a programmer could attempt to program a set of rules that determine which letter is which, but this would be very time consuming and it would be impossible to generate a set of rules that is able to identify all types of handwriting. In machine learning, a user creates a model, which can be thought of as a complex mathematical function. The programmer will feed in handwriting data for which the correct answers are known. The model will read in all of this data, attempt to make predictions on what it thinks the answers (labels) are, compares its predictions with the correct answers, and adjusts itself until it is able to make accurate predictions. The machine learning model is not only much less labor intensive to produce, but also makes much more accurate predictions on many more types of data.
Machine learning is a growing concept in computer science, where scientists attempt to teach computers to learn abstract concepts just as a human would. This is a major paradigm shift from traditional programming, in which programs operate using a set of logical rules that are explicitly stated by programmers. In machine learning, the programmers instead develop a model, a structure that is able to learn the data that the user feeds into it.
One example that illustrates the difference between traditional and machine learning is trying to read handwriting. With traditional programming a programmer could attempt to program a set of rules that determine which letter is which, but this would be very time consuming and it would be impossible to generate a set of rules that is able to identify all types of handwriting. In machine learning, a user creates a model, which can be thought of as a complex mathematical function. The programmer will feed in handwriting data for which the correct answers are known. The model will read in all of this data, attempt to make predictions on what it thinks the answers (labels) are, compares its predictions with the correct answers, and adjusts itself until it is able to make accurate predictions. The machine learning model is not only much less labor intensive to produce, but also makes much more accurate predictions on many more types of data.
The model used in this project is a special type of machine learning model called a “artificial neural network”. These types of models have been around for over half a century, the first was theorized in 1958, however recent improvements in computation power has made it possible for practical use. Essentially, these are modeled off of the way brains (or “neural networks”) work, as they are an interconnected structure of “neurons” (or nodes) and “synapses” (or connections). Unlike real neural networks, which send biological compounds called “neurotransmitters” between neurons, neurons in artificial neural networks simply communicate using numbers. As it turns out, this seemingly basic structure is able understand complex concepts, similar to humans. It’s worth noting that in this project a special type of neural network called a “recurrent neural network”, was applied, which is specifically designed to read sequences of data.
The first thing we need to do was get an actual dataset to manipulate. We did so using Amazon’s Marketplace Web Services API. We pulled in the responses from this API and stored them as CSV files that are easy for our program to read. We then clean the data by filtering out repeat entries or records that don’t contain any data at all. Because the goal is to predict future sales, we ordered the rows by date and totaled all orders on the same day. Finally, through experimentation, we found that the model fits best to data for individual products; rather than for all products, so we filtered down to only rows containing a specific product. The result of all of this cleaning is plotted in blue.
As we can see, the data is pretty noisy, which is not great for the model to achieve a fit. Really, we want the general trend rather than data that changes drastically day to day. In order to do so, we apply a smoothing function as illustrated in red.
As we can see, the data is pretty noisy, which is not great for the model to achieve a fit. Really, we want the general trend rather than data that changes drastically day to day. In order to do so, we apply a smoothing function as illustrated in red.
Let’s try getting some predictions! After no training, here’s how well the model fits to the training data.
It’s pretty terrible, but this is what we expect without any training. This would be like walking into a calculus test without even having heard what “math” is. After training on the data 100 times we are given the following result.
It’s pretty terrible, but this is what we expect without any training. This would be like walking into a calculus test without even having heard what “math” is. After training on the data 100 times we are given the following result.
It seems to be picking up the general trends in the data but doesn’t quite hit the mark. Lets try doing another 900 iterations through the data, for a total of 1000 training runs
Now the prediction is clearly fitting to the actual sales trend. Also, keep in mind that although 1000 iterations sound like a lot, the entire training was completed in about 15 seconds. However, the real challenge is fitting the model to data that the model has never seen before. Below are the predictions on the “test” dataset. Though these predictions aren’t quite as good as on the training set, this is expected, and they are still very accurate overall and likely more precise than a human’s predictions.
What this could look like for you
Of course, machine learning is cool, but you probably want to see the real business applications for the technology. Here’s an example of how it can be implemented in our services.
What this could look like for you
Of course, machine learning is cool, but you probably want to see the real business applications for the technology. Here’s an example of how it can be implemented in our services.
This is a screenshot of the dashboard interface we have built for the client. As you can see it already provides them with lots of useful metrics to influence their business decisions. The end goal is to have the model running on the server, constantly pulling new data from Amazon and retraining itself. Then it would be able to show a projection of future sales in order to aid the client in reordering products.
Resources
For the purposes of this post the concepts mentioned are heavily abstracted. However, if you’d like to learn more about the field here are some other resources you may want to look into:
If you have questions or are interested in learning how Machine Learning could impact your business, please get in touch with us.
info@leafsoftwaresolutions.com
317.814.8000
Resources
For the purposes of this post the concepts mentioned are heavily abstracted. However, if you’d like to learn more about the field here are some other resources you may want to look into:
- 3Blue1Brown– YouTube channel with amazing visual representations of abstract mathematical concepts
- Two Minute Papers– YouTube channel that distills recent machine learning research papers down to 2-minute videos
- Siraj Rival– YouTube channel with tutorials on lots of machine learning concepts
- Google Machine Learning Crash Course– Web tutorial series on machine learning (has more of a business/real-world focus)
- Machine Learning Mastery– Website with tons of machine learning tutorials and resources
- Colah’s Blog– In depth explanation of ML concepts by Google Brain Scientist
- Distill– Explains abstract concepts through interactive machine learning widgets
If you have questions or are interested in learning how Machine Learning could impact your business, please get in touch with us.
info@leafsoftwaresolutions.com
317.814.8000
- Published on
Last month Leaf’s Cloud Services team headed up to Chicago for the AWS Summit. Amazon Web Services holds these free summits in many cities around the world. They are a great opportunity for beginners and experienced users alike to network and learn more about the platform. They even provide the chance to take certification exams (which reminded us that we need to keep our Solutions Architect certifications up to date!).
This year it was clear that microservices are taking over. The longest lines were for sessions detailing how to run microservices on Docker or on how to implement them with Serverless techniques using AWS Lambda. The concept of breaking larger applications into smaller services is not new, but with the public descriptions of Service Oriented Architectures like those of AWS and Netflix, it is widely used. We’re particularly interested in the organizational benefits of assigning small teams to building and supporting tightly-scoped, loosely coupled services.
An event like this is also a good opportunity to check in with services that have existed for a long time to stay current on new features. A good example of these are AWS Storage Gateway and Elastic Filesystem which have both seen further development since their initial launch. A service that impressed us thoroughly is Aurora: Amazon’s enterprise-grade MySQL-compatible database engine. It shows how effectively AWS can squeeze out performance and reliability improvements when they are in control of the whole infrastructure stack. Several of our clients use Aurora, and it is good to see that this will pay dividends as we inherit regular improvements from Amazon’s continued development.
Another thing that struck us was the theme of Adrian Cockcroft’s keynote: public cloud providers have moved beyond allowing you to do the same things you did in your datacenter and are now providing capabilities that would be nearly impossible without massive investments in capital and talent. Take this example: CSPAN is annotating all of its video coverage of US politics by sampling frames and running them through Amazon Rekognition to detect the faces of politicians.
It’s obvious that cloud computing has moved beyond the startups. All major enterprises are making use of some form of cloud services and many are all in. The uncertainty and fear of moving workloads from your own bespoke data center to a cloud provider is a throwback to the last decade. How are we so sure? Consider this: McDonalds global Point of Sale system runs entirely on Amazon Web Services.
But it’s not easy to get started. There is a rapidly growing list of services to learn in AWS alone, not to mention the other major providers like Microsoft Azure and Google Cloud Platform. Most of the vendors in the summit exhibit hall were involved in managing, monitoring, securing, or migrating cloud applications. You don’t have to navigate this ecosystem alone. Leaf’s Cloud Services team would love the opportunity to help!
Images Credit: https://aws.amazon.com/summits/chicago/
This year it was clear that microservices are taking over. The longest lines were for sessions detailing how to run microservices on Docker or on how to implement them with Serverless techniques using AWS Lambda. The concept of breaking larger applications into smaller services is not new, but with the public descriptions of Service Oriented Architectures like those of AWS and Netflix, it is widely used. We’re particularly interested in the organizational benefits of assigning small teams to building and supporting tightly-scoped, loosely coupled services.
An event like this is also a good opportunity to check in with services that have existed for a long time to stay current on new features. A good example of these are AWS Storage Gateway and Elastic Filesystem which have both seen further development since their initial launch. A service that impressed us thoroughly is Aurora: Amazon’s enterprise-grade MySQL-compatible database engine. It shows how effectively AWS can squeeze out performance and reliability improvements when they are in control of the whole infrastructure stack. Several of our clients use Aurora, and it is good to see that this will pay dividends as we inherit regular improvements from Amazon’s continued development.
Another thing that struck us was the theme of Adrian Cockcroft’s keynote: public cloud providers have moved beyond allowing you to do the same things you did in your datacenter and are now providing capabilities that would be nearly impossible without massive investments in capital and talent. Take this example: CSPAN is annotating all of its video coverage of US politics by sampling frames and running them through Amazon Rekognition to detect the faces of politicians.
It’s obvious that cloud computing has moved beyond the startups. All major enterprises are making use of some form of cloud services and many are all in. The uncertainty and fear of moving workloads from your own bespoke data center to a cloud provider is a throwback to the last decade. How are we so sure? Consider this: McDonalds global Point of Sale system runs entirely on Amazon Web Services.
But it’s not easy to get started. There is a rapidly growing list of services to learn in AWS alone, not to mention the other major providers like Microsoft Azure and Google Cloud Platform. Most of the vendors in the summit exhibit hall were involved in managing, monitoring, securing, or migrating cloud applications. You don’t have to navigate this ecosystem alone. Leaf’s Cloud Services team would love the opportunity to help!
Images Credit: https://aws.amazon.com/summits/chicago/
- Published on
On Tuesday (6/20/2017), the Leaf team gathered for a round of lightning talks given by Leaf employees. The format was as follows: Speakers had 5 minutes to present on whatever they wanted. No slide deck required.
Developer Ergonomics and Repetitive Stress Injuries
One Leaf employee shared what he’s learned about developer Ergonomics and Repetitive Stress Injuries. Some top tips from discussion included finding a tool to force yourself to take breaks away from the computer, proper posture (feet flat on floor, arms making an L shape when typing, knees slightly below hips), and the importance of learning keyboard shorts rather than reaching for the mouse (VIM lovers everywhere rejoiced!).
One Leaf employee shared what he’s learned about developer Ergonomics and Repetitive Stress Injuries. Some top tips from discussion included finding a tool to force yourself to take breaks away from the computer, proper posture (feet flat on floor, arms making an L shape when typing, knees slightly below hips), and the importance of learning keyboard shorts rather than reaching for the mouse (VIM lovers everywhere rejoiced!).
Welcome Screen – Raspberry PIAnother employee gave an overview of the new software used to drive the large LCD welcome screen in our office foyer, allowing Leaf to have a custom welcome message for visitors to our office while being easily updated by office staff. The entire solution is being driven by BizPlay and a Raspberry PI. The custom case was also 3D printed by Leaf’s Scott Beardsley.
Mechanical Keyboard
Another Leaf employee gave some insight into his passion for mechanical keyboards. Using a hands-on show-and-tell approach, he gave everyone a chance to experience the feel of a mechanical keyboard as well as the variety of switch types that are available out there.
Another Leaf employee gave some insight into his passion for mechanical keyboards. Using a hands-on show-and-tell approach, he gave everyone a chance to experience the feel of a mechanical keyboard as well as the variety of switch types that are available out there.
CoffeeBot – Raspberry PI
James Alexander had not one, but two lightning talks. The first was an overview of Coffee Bot, Leaf’s in-house IoT hack to monitor our coffee usage. Using a scale and Raspberry PI, we track when coffee is made and poured with the output of various statistics going on to an RGB LED matrix display.
James Alexander had not one, but two lightning talks. The first was an overview of Coffee Bot, Leaf’s in-house IoT hack to monitor our coffee usage. Using a scale and Raspberry PI, we track when coffee is made and poured with the output of various statistics going on to an RGB LED matrix display.
Optimizing Unit Test Fixtures
Frederick Myers shared some of the tips that his team uses for optimizing unit tests fixtures for speed, navigation, and consistency.
“Strangify” – Slack and OpenCV
Mike Warren pulled back the curtain on “Strangify” — our slack app that uses OpenCV to detect faces on images and replace them with pictures of our own infamous James S.
Frederick Myers shared some of the tips that his team uses for optimizing unit tests fixtures for speed, navigation, and consistency.
“Strangify” – Slack and OpenCV
Mike Warren pulled back the curtain on “Strangify” — our slack app that uses OpenCV to detect faces on images and replace them with pictures of our own infamous James S.
Python Tornado web framework
James’ second talk was an overview of the Python Tornado web framework that James is evaluating for IndyPY Web Framework Shootout.
James’ second talk was an overview of the Python Tornado web framework that James is evaluating for IndyPY Web Framework Shootout.
- Published on
The original “agile manifesto” has been, by far, the most dominant force the past decade on how organizations and teams go about designing, building, and maintaining software systems. It provides a basis for which requirements, communication, and organization are built around. The manifesto has spawned a “dizzying array”of well defined methodologies and frameworks, each with their own set of rules, rituals, and practices. Scrum, SAFe, XP, Kanban, Lean, and on and on. These frameworks have their purpose and situations where they shine and provide value. They also have situations where they introduce too much complexity and rigor where at the end of the day, the answer to the question “Does this make us better?” is “No”.
The manifesto
Answering the question “Does this make us better?” is fundamental at Leaf and why we subscribe to following the principles of the agile manifesto rather than adopting a single agile framework and apply it across the board.
- Value individuals and interactions over processes and tools. Processes and tools should be there to serve a team, not the other way around. Tools are a support mechanism to facilitate organization and communication but at the end of the day, the relationships and skill of the of the people involved is what will generate success.
- Value working software over comprehensive documentation. We believe that iteratively building software with frequent feedback loops will deliver software that meets the customer’s needs more efficiently and with a better results. Developers should have the flexibility to experiment with new concepts. Stakeholders should have the ability to evolve their requirements through interaction with the software to help clarify their vision.
- Value customer collaboration over contract negotiation. Ongoing collaboration between the development team and the customer supporting the iterative development of software and ensure development happens transparently and without surprises.
- Value responding to change over following a plan. We need to be nimble to respond to shifting needs – be it technical, customer, or market driven.
Post Agile
By not adhering to a single framework, we are afforded the flexibility of picking what works best for us and the customer. We incorporate practices such as daily stand-ups, sprints, Kanban flow, deploy often, automation, and retrospectives. We are able to integrate with other customers that might be invested in more formal methodologies such as “Scrum” or “SAFe”. For customers who aren’t invested (or don’t care) about a software methodology, by working with them we can derive project practices that make sense for both the development team and the customer based upon everyone’s needs and capacity. And sometimes, that can involve eschewing agile a bit and incorporating “waterfall” techniques.
- Published on
Leaf Software Solutions is proud to be celebrating our 30th anniversary providing technology solutions to our clients. With major changes happening on a constant basis, it is easy to lose sight at how much technology has grown over the course of multiple decades. We decided to take this opportunity to revisit some of the major shifts that have happened within our industry over the past 30 years, how Leaf has adapted to these changes, and trends we see emerging now in 2017.
The story of Joseph Graves Associates starts in the heyday of the original IBM PC. The PC AT shown above was driven by a 286 CPU that contained 134,000 transistors and performed an average of 2.66 million instructions per second. Compare this to a modern Intel i7 Haswell processor at 1.4 billion transistors that performs around 238,000 million instructions per second. That means that an average desktop computer is 90,000 times faster than the PCs used when Leaf began.
The story of Joseph Graves Associates starts in the heyday of the original IBM PC. The PC AT shown above was driven by a 286 CPU that contained 134,000 transistors and performed an average of 2.66 million instructions per second. Compare this to a modern Intel i7 Haswell processor at 1.4 billion transistors that performs around 238,000 million instructions per second. That means that an average desktop computer is 90,000 times faster than the PCs used when Leaf began.
Matt Moberly - Internship 1997
From a project perspective, our company launched as the industry was shifting from centralized, mainframe-based computing to distributed PC-based computing. As the 80s rolled over to the 90s, employees at Joseph Graves Associates were providing services across a wide variety of client sizes ranging from accounting services, staff augmentation, and custom development.
The next major shift happened in the early to mid nineties as the Internet became widespread. When Leaf began, the standard for business communications was a 2400 baud modem. In 1995, a typical business might have a 1.5 megabit connection, 685 times faster than the modem. A standard internet connection of 1 gigabit today is 500,000 times faster than network speeds prevalent when Leaf was founded.
As the Internet became a household name, Leaf began providing web development services to adapt to the needs of its clients. Microsoft Visual Basic was a popular platform, and many of Leaf’s clients included traditional companies that were realizing the potential of the efficiencies gained by incorporating computers and networks into their everyday business processes.
2007 saw the release of the first smartphones from companies such as Blackberry and the Apple iPhone. Smartphones have changed many aspects of our business and personal communications. From a technology perspective, many of us are carrying around phones in our pocket that have roughly the processing power of a Cray supercomputer that filled an entire room in 1987.
As mobile and cloud technologies have matured in the past decade, Leaf has made this transition as well. Many of the large-scale custom development projects that Leaf undertakes contain elements of cloud and/or mobile development. We have active projects being built with single-page app (SPA) frameworks and cloud-native architectures using technologies such as Amazon Web Services (AWS). The variety of technologies in our portfolio is continuously growing, from Microsoft .NET to open-source technologies such as JavaScript, Ruby and Python.
Leaf has been around to participate in some amazing technology enhancements over the past 30 years. Many other industry shifts are underway, and we plan to post about them on Leaf’s brand new technical blog.
Expect to see a wide variety of topics including:
Leaf has been around to participate in some amazing technology enhancements over the past 30 years. Many other industry shifts are underway, and we plan to post about them on Leaf’s brand new technical blog.
Expect to see a wide variety of topics including:
- Cloud-native and serverless applications
- Continuous build and deployment automation
- Rapid prototyping practices
- Internet of things