Blockchain & Cryptocurrencies

Liberty Fox has maintained an R&D focus on the Cryptocurrencies market, working on the changing landscape / value proposition of Bitcoin and Blockchain. We share this knowledge in the education of early-adopters as well groups sessions via meetups and events in this space. In many industries, sharing of trusted information can be a difficult proposition – Blockchain technology can be the platform to solve this blockade to entry. We are driven to be expert consultants in the various applications of the technology as well as the intentions, initiatives and projections of the alt-coin markets.

Revenue Cycle Management

Liberty Fox is intent on dramatically transforming healthcare revenue cycle management by empowering our customers with innovative end-to-end workflow automated solutions and operational consulting services. Our goal is to streamline workflow and create extraordinary proficiencies for our clients through automation. This leads to decreases in bad debt, improved employee and patient satisfaction, and a healthier business.

Philly 100 Ranked #38

Thank you to our team, family and friends for the kind wishes of luck and success. To our great surprise, our company ranked #38 of the fastest growing, privately held companies in the Greater Philadelphia Area. We have been in the Top 50 for four consecutive years now! We are so proud that words cannot describe our feelings about this esteemed accomplishment. To be surrounded with CEOs of other companies as motivated to succeed as us is surreal. Congratulations to all the winners! Thank you everyone for your support and we hope to be inducted into the hall of fame next year!

Entity Framework and Jenkins working together

While working on <PROJECT_NAME_HERE>, I began to run into an issue on the UAT server. Several test cases were failing while running under Jenkins, all with the same cryptic error message. You may have seen this error in your own tests as well. It states:

The Entity Framework provider type ‘System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer, Version=,Culture=neutral,PublicKeyToken=b77a5c561934e089’ for the ‘System.Data.SqlClient’ ADO.NET provider could not be loaded.

Make sure the provider assembly is available to the running application.

This is rather confusing because the app was clearly using SQL Server and making database connections correctly, indicating that it should work correctly. Yet these tests failed consistently, 100% of the time. I started my investigation into debugging it.

  1. Check the unit test project as well as the rest of the projects to ensure that the assembly is actually present. Yes, it’s there, so that’s not it.
  2. Check that the ‘Copy Local’ attribute for this reference is set to true. Yes, annoyingly, it was set to true and the file was in fact on UAT.
  1. Check the unit test app configuration file to ensure that the SQL provider is specified…Argh, yes, it’s there!
  1. Ensure all tests locally are identical to what’s on UAT…YES %@#*&#*&#$!
    (In my frustration I neglected to take a file compare screenshot, but everything on UAT was identical to SVN which was identical to my local build.)


At this point I figured someone else must have had this problem and did some digging around online, which brought me to this block of code:

var type = typeof(System.Data.Entity.SqlServer.SqlProviderServices);
if (type == null)
     throw new Exception("Do not remove, ensures static reference to System.Data.Entity.SqlServer");

Including that block into the test case instantiation module fixes the problem completely. This appears to be a known issue for Entity Framework 6+; unless you have a code-level reference to the SQL provider service, the Entity Framework assembly won’t be copied to the output folder where the unit tests are actually run. The compiler is overzealous in trying to remove assemblies that it doesn’t need, and accidentally tosses out the SQL Server assembly; that is, if you don’t add a block of code deliberately instantiating it to ensure it’s there.
We don’t do anything with that type variable except to null check it and move on. It isn’t used anywhere else, but without it, the tests keep failing. So our final code looks like this:

public static void InitializeTestRun(TestContext testContext) {
     InjectionModule.RegisterContextBinding<IPOREntity, PORContext>()
     InjectionModule.RegisterContextBinding<IConnectRXEntity, ConnectRXContext>();
     Resolver.SetModule(new TestModule(1));
     var type = typeof(System.Data.Entity.SqlServer.SqlProviderServices);

     if (type == null)
          throw new Exception("Do not remove, ensures static reference to System.Data.Entity.SqlServer");

All we’re doing here is setting up the binding for our contexts, setting the ID we want to use for the tests (in this case, 1), and then telling the compiler that we do in fact actually need SQL server.
That’s it!

Hope this helps!



Stop annoying gmail calendar alerts without disabling them.

Have you ever been deeply involved writing an email or replying to comments and then all of a sudden everything stops working? Or worse, have you ever looked up after writing a long chunk of code and see that none of your code was recorded?  Do you have a moment of instant rage trying to figure out what happened?

Then you realize that Gmail Calendar alerted you about an upcoming event and chrome has taken over because of this alert!
You’re not alone!  Luckily there is a very easy way to prevent an alert pop up from taking over your browser without disabling notifications about calendar events!  HTML5 introduced desktop notifications, which unlike browser alerts, occur outside of browser. So with desktop notifications, you can be on another program and get notifications without interfering with what you’re doing!


  1. 1. Click the gear icon on the top right of Gmail, and then click settings.
  2. 2. Click the option “User browser notifications instead of interruptive alerts”, then save.
  3. 3. Once you hit save you may get another popup asking you to allow desktop notifications.  Go ahead and click allow.

Now you’re all set!

If you found this post helpful please share it!


Making the Case for Custom Development

Making the Case for Custom Development

  • “I could get this done so much faster if I had an export tool.”
  • “Whenever I need to do an update my timesheet, I have to get an Admin to correct it because the webportal is difficult to use.”
  • “I can’t find anything on our poorly-organized document manager.”
  • “Our website looks terrible on a mobile device.”

At some point every company runs into issues like these – internal issues that reduce productivity, negatively impact client relationships, or hamstring employees from landing the next project.  These issues can often be resolved with a custom development solution, but the challenge is in convincing stakeholders to prioritize this need.  Often, customized development for internal use is viewed as “optional” or less important than customer-facing projects.  The effort required to build and implement a new or improved solution can even be written off as a needless drain on time and resources.  However, when more carefully analyzed and given a measurable value, there can be great worth – both for your employees and your customers – in investing in customized development for your company.


Monetizing Custom Development

One of the greatest challenges in convincing stakeholders to prioritize custom development intended for internal use is the idea that it isn’t as important as customer work.  It is easy to point to a contract with a dollar amount attached and understand how it will impact the company’s bottom line.  You can plainly see the balance of resources and the revenue gained.

But how can you outline the return on development created for use by your own company?  How can you attach a value to this effort that an owner, board, or shareholder can understand?

Like any other project, you can start by breaking it down by the numbers — weigh the cost and the benefits and express them clearly.  Don’t play down the fact that the biggest benefactor of the work may be your company’s own employees.  Your time and that of your colleagues has a cost for the company.  By investing in internal tools to create, update, and streamline processes — especially manual, tedious, or oft-repeated work — you are saving resource time.  Does the Accounting Department have to manually run reports?  Do your engineers have to deploy the same process scripts over and over to upload to a database?  Do managers copy and paste the same document formats for each project?

Start by calculating your current baseline cost.  How much time is your company spending on a particular task or process?  How many people would be affected by the change?  What are the resource costs for that time?

Next, break down the proposed change or changes.  What sort of tools or process updates would reduce this effort?  Most often, you want to start with incremental changes.  A smaller effort with a larger impact is easier to work with that a sweeping change that will take more time and resources to implement.  Working at the smallest viable level, what would be the difference in time spent between the current process and an improved process – over a day, week, month, or year?

As an example, your Accounting Department spends 10 hours every week running and compiling manual reports.  The cost of those 10 hours spent by the Accounting Team, when compared to their salary cost is roughly $1,500 every week or $78,000/year.  If the team had a tool that exported the reports needed at the push of a button, hundreds of hours could be saved.

Next, you need to determine the plan and plot the costs to develop this process and implement it.

Continuing our Accounting team example, you are able to determine it would take approximately a $50K effort to create the tools needed to generate the reports in minutes instead of hours.

Calculate the net benefit by comparing the improvement costs to the cost savings.  Determine what (if any) immediate savings there would be by implementing the improvement.  Then determine the rollover savings from period to period.  How long would it take for the company to recoup their investment?

Back to our Accountant example, the cost of the new reporting solution would save the company $28,000 in the first year and the cost of the development would be recouped in roughly 8 months.  For each subsequent year, the cost savings would be $78,000!


Leveraging Commercial Software

Another option to consider if your costs are running high is starting with an off-the-shelf solution and then asking a development company to further customize it for you.  Did you find an application that does 80% of what you need?  Is it only that last 20% holding you back?  What would it take to fill in that gap?  Most commercial software has the ability to overlay additional functionality on top, knowing that users will install their own Apps and Plug-ins.  If you can reduce the amount of base development needed, does that close enough of the cost gap?


Priority Based on Quality

But what if it is more than just a time issue?  What if the quality of the current process is the problem?

How can you make a case for custom development work when the monetary costs are higher than the expected returns?


  • Are there other quantifiable areas that would be impacted by the improvement that could make your case?
    • Would implementing an improvement result in reduced customer issues?
    • Could a change in the process free up business resources such as bandwidth, server space, resource time, etc?
  • Are employees capable of completing the work required of them with the current process?
    • Are your employees overwhelmed because your current process isn’t scalable?
    • Is the current process error-prone?
  • Who is impacted by the inefficiency of the current process? Does it impact more than one person or department?

Using these considerations, you can create an Impact Analysis.  An Impact Analysis will allow you to capture and structure all the likely consequences of a decision and more accurately understand if there would be value in investing in your internal-use development.

First, clearly define what you want to achieve by implementing the development work.  For example, you wish to add more self-service options to your customer care portal.

Then break down the potential impacts of the change.  You can do this by evaluating the impacts from an organizational perspective or determine the importance the changes would have on your company values using the McKiney 7Ss (Strategy, Structure, Systems, Shared Values, Skills, Styles, Staff).

Next, evaluate the people and organizations affected in detail.  Then go down this list, identifying both the positive and negative impacts of implementing the changes.  This detailed outline will give you a balanced view to weigh whether if it makes sense for your company to invest in the effort or not.


Changing the Use Case from Internal to External

If selling the desired development as something for internal use isn’t something you can get any traction on, is there a way to change the expectations for the work into an external benefit?

  • Could an enhancement created for internal use be turned into a customer-facing product?
  • Is the work you are championing something that a partner company could use?
  • Is there a way to leverage the development to make it easier for your company to connect with potential clients?
    • Would doing the development make it easier to convey the services your company can provide?
    • Could this effort be used to streamline how potential clients can reach the right people?
  • Would producing this application be something that could be recognized in a trade journal to provide name recognition?


As an example, would an update to the forms on your databases open the door to give customers more self-service form options?  Would an update to your company’s email client allow customers to reach out for additional support?

Changing to an external focus may give you a very different result when you run your cost and impact analyses again.



Understanding how to articulate a good case for investing in custom development is a key step in getting the idea off your wish list and into your hands.  By arming yourself with measurable criteria and clearly defined impacts as justification, you can sway stakeholders to see the value in investing in custom development for your company.


Software Tools Your Small Business Needs

Technology continues to change the way we conduct business today. If you are running a small business, there are efficient, innovative software tools that can simplify your processes and save you time, money, and frustration. Many of the tools offer free or basic subscriptions with the option to upgrade to a premium version as your business grows.


This virtual phone system allows you to forward calls from your business line straight to your cellphone so employees and important clients can reach you wherever you are. You can add multiple extensions, transcribe voicemails to your email, and even send business texts without replacing your existing phones.

Wave Accounting

Keep your books balanced with this program that is easy to use and offers most of its features for free, including receipt and invoice scanning, report generation, and more. If you need extras like direct deposit payroll or payments, the $19 a month subscription fee won’t break the bank.


This nonprofit organization offers business templates and tools to help small businesses with finance, planning, marketing, sales, and more… And almost everything is free to the user. They also provide valuable resources and advice on their website.


This communication tool gives owners and managers valuable feedback from their own staff. The concept is simple: employees spend 15 minutes a week answering important questions, which offer critical insight to employers. Managers are then able to read and respond directly, opening communication in an innovative way.


Branded Apps: How To Get It Right

Each year, businesses must evaluate their budget to include yet another leg of technology as innovation fuels new opportunities for expansion. Creating a branded mobile application can be expensive and time-consuming, but the rewards can easily outweigh the costs. Here’s how your business can get it right:

Offer Value

We all know there is only so much space on our smartphones for downloaded apps – and even less space on the main screen where we keep our favorites. While we might love many brands of shoes, clothes, cars, and accessories, it is simply impossible to keep an app for every single one. Your app needs to add value to the user through incentives, information, and ease of use.

Pair With Social

By integrating social into your app through sharing options and more, you can easily gain more interest. Social is now a part of our everyday lives. It is how we connect with family and friends, share our ideas and experiences, and even how we sometimes find great restaurants, stores, and services. Social can bring your branded app to the next level.

Create App-based Content

While sharing the same content on multiple platforms can definitely be beneficial to reaching a wide audience, you also want to save some original content for your mobile application. Most users are not browsing the web from their smartphones anymore, they are perusing mobile apps. Make their visit worth their while by creating content they can consume directly and exclusively from your branded app.

Read more here:


How to Use Technology to Give your Small Business a Competitive Edge

Technology touches nearly every aspect of our lives today, from our morning alarm to the way we work and play. Businesses large and small must keep up with new technologies in order to gain an advantage over their competitors. The options the internet and IT solutions bring us are endless, and even small businesses can go to battle with big brands and win.

Know Your Needs

Above all else, you must constantly strive to understand the needs of both your business and your customers. Technology allows you to achieve this easier than ever through data collection and analytics and the constant connection social media and other outlets offer.

Create a Budget

A small business simply cannot afford all the glitz and glam that major corporations can, but that doesn’t mean you can’t maximize your return on technology. Start with a budget for the absolute necessities, like software upgrades that will streamline processes and save you money instantly, and applications that provide ease of access to customers for product information and purchases. Leave some capital available for fresh, innovative options that make your business stand out from the rest.

Close the Loop

When you begin implementing new technologies into your business plan, be sure your staff is fully trained to understand and use the information at hand. The more your employees know the better they can assist customers. Just don’t forget that your customers will need some training too. Offer plenty of information about your new processes in the form of blogs, social media updates, and email updates.

Read more here:


How a Software-minded Approach Can Propel Your Business

Technology continues to change the way companies of all kinds conduct business – opening doors to opportunities and advancements that were once not possible, even a short time ago. Today, software plays a prominent role in the success of every business, and not just in the way of ecommerce.

Software goes beyond the ability to keep track of your expenses and cash out your customers. In the digital age, software programs can do everything from tracking your website traffic to predicting your customers’ purchasing decisions, and so much more. Mobile apps are becoming more advanced, offering easier checkouts, data collection for future purchases, promotional information, location-based incentives, to name a few. These are just the basics. Software can now be integrated into nearly every aspect of operations.

To think like a software company is to be ahead of the competition in the business world today. How can you improve customer experience and satisfaction? How can you upgrade the internal processes of your company? How can you use innovation to impress your audience and bring positive attention to your brand? The answer is software, and it comes in many forms. Restructure, reinvent, and renew your business model by using software tools at every turn. Society is now in constant connection, expecting instant gratification on all levels. Every business must now face the competition of companies who are already using software to stay relevant and connected to their goals and to the needs of the consumer.

Read more here:

Page 1 of 9 12345...»