|By Al Soucy||
|December 21, 2013 12:00 PM EST||
Recently, I was asked by Mr. Peter Hastings (NH DoIT Commissioner) to take a look at cloud development concepts and see if there was any benefit for our development teams across the enterprise. After some investigation I could see that if all users/developers were on one server that contained all the licenses for the tool and the assets were centralized, and the SCM tool was standardized, the state could save money in various ways on activities related to software development and transform state government with more status accounting and visibility into software development not only for state developers but contractors as well.
I met with Commissioner Hastings and explained that developers would have less of a learning curve from department to department if the tool was standardized. The only thing the developer would have to learn is the application to develop code. The tool would already be known because SCM supports all the development platforms used at the state today. The state develops in Java, multiple versions of Visual Studio, COBOL for legacy applications, multiple versions of PowerBuilder, Visual Basic, etc. The list goes on with every agency that gets implemented in the enterprise as there are new tools I was unaware of and new ways of using SCM integrated with them.
After meeting with Commissioner Hastings I was directed to place all existing servers and developers in the virtual environment on one server and on one standard tool across the enterprise to centralize the State source data assets.
I met with Richard Sliwoski, State Database Manager, and we had a brainstorming session to hammer out a strategic plan for accomplishing this directive. It's one thing to be told what to do and it's another thing completely to actually do it. The current environment has three independent SCM servers. These servers house a number of data assets and users that represent a number of agencies across the enterprise. The idea was to consolidate the three servers into one in the virtual environment. Then the three physical servers could be decommissioned. There is a cost savings to the State with this initiative with fewer SCM servers in technical support and electricity alone and a myriad of other savings I'll speak to later. This initiative would centralize and standardize the users, licenses, assets and support across the enterprise for software development activities.
I requested three virtual servers. Rich and I determined the requirements for the database and application server needs based on what we were using today and planned for an enterprise model. The three servers would be comprised of one SCM production virtual server to replace three physical production servers in use today, a development server for testing and a dedicated virtual server that will eventually house production compiles using a new tool called OpenMake. A number of OpenMake licenses are owned by the State and will be used to ensure the stability of production executables and to standardize compiles across the enterprise. OpenMake supports all platforms used at the State today. Understanding the Open Make tool is planned for a future effort at this time but again it's part of Commissioner Hastings vision of the standardization and centralization SCM initiative (SACI).
As this effort is going to impact more than 200 developers across the enterprise today with more than 300 applications housed across three servers, timing is important. Whenever you upgrade, convert or migrate it has to be timed accordingly with the release cycles of development teams so it doesn't disrupt any production releases. I have worked with all the team leads to make these efforts as seamless as possible. When the entire implementation is complete there may be 300-500 users and 1 terabyte of data assets secured and controlled for the enterprise and managed by a small team.
Once a strategic plan was developed and the virtual servers acquired I moved forward with the conversion/migration part of this initiative from dedicated servers to the virtual environment. During this same time period in addition to the conversion/migration, Computer Associates released SCM 12.5, the latest version of SCM that has a new plug-in for Visual Studio called the Visual Studio Integration Program (VSIP). So Rich Sliwoski and I made the decision to upgrade the product at this time as well. This is the second part of the initiative to upgrade to SCM 12.5. This effort encompasses installation, set-ups, plug-ins, testing of the client, testing of interfaces, testing on various operating systems, etc. It's no small effort but it made sense to create a totally robust environment for development activities.
I pulled together a great test team comprised of professional quality folks from the State. This nine-person team was made up of talented tenacious developers who had one goal in mind: to produce a better product for the state. The test team is as follows: Casey Horner (DES), Colleen Giuda (DRA), Ryan Stevens (DOE), Robert Kelley (DAS), Eric Ferren (DHHS), Terry Laderbush (DHHS), Michael Brennan-White (Treasury), Sanjay Dua (Deloitte) and Chris Taylor (DHHS). I thank all these folks and their managers for allowing them to participate in this effort; they did an incredible job at beating the tool up and making CA a better company and allowing the state to get a better tool. The tool overall integrated better in this release but I'm already assembling another beta test team to push the tool even farther. There are enhancements that developers have already been communicating to me that I want in the next release. I personally would like to see full integration.
To me when the word integration is used I believe it should be seamless. I don't want to perform activities outside the tool once I'm in it. The tools should assist you in creating a better product. That means you don't have to waste time by going somewhere else to accomplish the task at hand. Today you still have to leave the Visual Studio IDE and go to the Workbench to delete a file. That's a waste of time and should be fixed. My hope is that in the next release we come even closer to a fully integrated product. There really should be no need to open the Client if full integration is achieved. In any case I'll have a great test team assembled again and produce an even better product for the State of NH, Computer Associates and other users in the development community as well.
I have been working with Computer Associates (CA) for some time now to achieve this goal of tighter integration and with every release they listen to me a little more. One thing that has helped is having smart folks from the State of NH on the front end beta testing the tool.
These folks are good at what they do and provide clarity to the CA development team. I was very pleased this time with testing after looking back at the 12.1 release, which I soundly rejected as bad development on CA's part. Needless to say it was very disappointing from such a mature product. They heard me.
Kevin Lin's team from CA came through this time and receives higher marks with 12.5. I did not like the clunkyness of SCM 12.02 the product always felt unstable to me. This release has a much more professional feel to it. Melinda Skelton (CA), Dave Carmack (CA) and the entire CA development team really gave us a much better product. Thank you! It only benefits everyone to get the very best product that we can to support such important intellectual property and source data assets across the enterprise of all state government.
There is no reason this environment couldn't be replicated across the States. Intellectual property is a valuable commodity and it needs to be secured and controlled. Standardizing tools and centralizing assets to reduce cost and streamline software development activities makes sense on so many levels (reduction in support, fewer physical SCM servers to maintain and support, less electricity, less software to install, fewer operating systems to maintain, fewer servers to back-up, easier to maintain SCM licenses, less of a learning curve for developers from one State agency to another on an SCM tool, more formalized development, more disciplined development, status accounting now available on software development activities, common code library can be shared to reuse code, future upgrades to the client are easier, standard defect tracking being used which is centralized, etc.). All these savings add up and benefit state government in managing the cost of software development activities.
In addition to the centralized virtual environment initiative there was now the SCM 12.5 upgrade, which made sense on another level as well. The State has many Visual Studio developers and I wanted to move to the new Visual Studio Integration Program (VISP). The previous version of SCM 12.02 used SCC API calls within the Visual Studio IDE. However, Microsoft was moving away from offering the calls up to competitors because they were releasing Team Foundation as the competing tool to SCM.
They were closing the door and CA needed to figure out another mechanism for performing SCM activities within the Visual Studio IDE without Microsoft's APIs. I truly never liked the SCC anyway as I explained earlier; I've always felt it was clunky and not stable. So CA developed the VSIP. I feel better about the VSIP and the state beta test team beat it up good. It feels more stable to me and CA has more control over the VSIP to work outside of the Microsoft constraints to accomplish good SCM. CA must keep improving as this market is getting more competitive every day; once other tools of this nature figure out how to create plug-ins that integrate into every development platform seamlessly, the playing field will be leveled. Right now CA still holds a slight lead in the area of integration but tools like MKS, PVCS, and TFC are going to figure it out and there will be integration into PowerBuilder, VB, Visual Studio, Java, Eclipse, etc.
I'll digress for one more moment. I am a professional musician as well and release my own albums every year and I have noticed this trend even in the music industry as it relates to software and integration. Several years back everyone recorded on Recording Workstations. A couple of years later workstations are gone and now it's all software. Keep going down the road now it's all about the plug-ins. Plug-ins for virtual drums, virtual stringed instruments, virtual pianos, virtual synthesizers, etc. It's a huge side of music software now and the same thing is happening in software development - the SCM tool that comes along that has plug-ins that integrate into every development platform wins.
This integration allows states to standardize a tool across an enterprise because it supports whatever development platform you choose. That to me is huge because states typically have a variety of development platforms in use. In my music software I want as much available to me as possible so I can be as creative as the software can stretch me and I believe developers want the same. I'd rather have more capability than less. I'm certainly not going to refuse a Mercedes if it cost less than the Yugo.
Rich Sliwoski (State DBA Manager) and I were having a conversation and the context was placed around a secure cloud within SCM and I came full circle back to the directive that Commissioner Hastings had initially instructed, which was to explore how cloud development concepts could be used and taken advantage of at the State of NH. It is amazing how one directive can take you down many roads. The next initiative would be to create a common code library for common functionalities between agencies across the enterprise and code that could be shared, reused, understood all under the secure umbrella of SCM. SCM allows groups to be created that have certain levels of access all the way down to a process or a file. It's easier to allow some teams or many teams the ability to browse this library of shared common code. It also educates other teams on how one team versus another might be developing common functionalities.
I asked a colleague of mine Eric Ferren (DHHS) to check if any of the development teams had common code that they thought could be reused by other teams and wouldn't mind sharing. Many teams were very forthcoming and offered common code that is now available for use. The common library was born. An SCM environment was created to house various frameworks of Visual Studio, PowerBuilder, Java, Eclipse, etc. This common library is a read-only library for all developers to check out anything they can use to cut down development time on common functions (e.g., passwords, log-ins, etc.). It's not available to all users at this point; it only exists for those developers who have been upgraded to the virtual environment using SCM 12.5.
If you have a robust SCM tool with a database behind it, you can have all of your users centrally located and standardized with access to the source code, not just for their projects under source code control, but all projects under development in source control. The administrator of your tool with a process-based tool can then create user groups and assigned user groups with any number of individuals associated with it to any SCM environment under the umbrella of source code control. If you had an aggressive development schedule you can potentially use developers from another agency to help temporarily by turning on access to a project, and when the project is done turn off the access. The point is that when everyone is centrally managed you can get creative.
Developers can browse development libraries for the Visual Studio Framework, PowerBuilder, Java, etc., and have access to this library to check out common functionality code that was already developed and modify or tailor the specifics for their new development activity, rather than writing this set of code from the concept stage. I believe over time the state will save money by having code that is reusable. There are many types of code that can just be tailored rather than completely rewritten. Plug in the correct variables for your functionality and your off and running. Certainly it's not that easy but it should cut down on development time.
With one virtual environment for development, upgraded to the latest release of SCM 12.5, using the latest plug-ins for integration of development tools comprised of a shared common development library, using a standard compiling tool for production executables, defect tracking standardization and a SCM test environment for future release testing, Commissioner Hastings has transformed State Government software development for many years to come. It has been quite a directive. I have been juggling many balls in the air but I have had some good support and encountered many cooperative, collaborative, professional, disciplined developers.
I could never pull this off alone so I thank all of those who helped to accomplish Commissioner Hastings vision. It takes courage in state government to move someone's cheese and that's exactly what is being done. There are always going to be teams that don't want to play and convincing teams that this is in the state's best interest is challenging at best but with solid IT managers understanding the importance of securing this intellectual property and mission-critical data assets, centralization can be achieved.
I have been thinking of some of the ways I considered this initiative could save the state resources, time and money on development activities:
- All State source data assets are centralized - diminishes the overhead of physical support
- All processes are standardized by the use of one product to support multiple platforms
- Allows movement of a developers from one project to another with more flexibility
- Common functionality libraries can be set up for all development platforms (Visual Studio, PowerBuilder, Java, etc.) so that all developers can have access to reusable code under a SCM secure umbrella
- Provides transparency to all managers with a view into a life cycle as to what developers are working on in any SCM State whether it be system integration testing (SIT) or user Aacceptance testing (UAT), fewer servers means less power consumption, fewer updates to the operating system, fewer man hours of support, easier back-up time with one set of scripts, etc.
If the tool were designed to be transparent and seamless to the front-end user, this would give managers more latitude in assigning developers to a particular project. I feel you could access your developers like never before because they would be in one pool using the same methodologies as developed via the life cycles in the tool that mirror their processes on the ground. Many large organizations have too many varying methods, tools, processes and this creates silos of development, which is overall counterproductive to the whole. This makes it harder to not only know what the team(s) are doing or developing in or having access to or to interchange that skill set with another development team.
When all developers are using the same tool they can easily be provided access to another project via the secure cloud of the tool and work any project and have a much smaller learning curve by not leaving the development environment but seeing a new project in their view in the SCM tool.
I have been working in Software Configuration Management (SCM) for a few years now and I am presently, the administrator of SCM at the State of NH. SCM is a process-based Software Configuration Management (SCM) tool for managing application source code. I manage 300 plus applications housed in SCM and support 300 users using the product. The development tools we currently use are PowerBuilder PBV8, PBV11 and 12; Visual Studio 2003, 2005, 2008, 2010 and 2012; Eclipse, Juno, Cold Fusion and Java, COBOL. VB, etc.
As the Software Configuration Manager (SCM), I provide the administration of the source code management tool. This includes the entire infrastructure of the environment for development, developing life cycles, providing the best practices, procedures, processes, documentation; maintaining build machines; and the training of all the developers on proper source code management using the development tool in our development environment.
The SACI (Standardization and Centralization Initiative) is comprised of a lot of moving parts from consolidating/migrating projects from one SCM database to another in coordination with teams' release schedules and then upgrading the developers to the latest release of the SCM client. Provide them with a view into the Common code library and integrate across the enterprise the standardization and centralization of the SCM tool and centralization of all state source data assets and missions-critical assets for disaster recovery purposes and work to get more teams using the Defect Tracking tool within SCM to standardize reporting as well and get rid of the access databases, Excel spreadsheets and word documents and centralize this data as well..
The final result should look like one virtual software development server with 300-500 users and one terabyte of data assets, which would include intellectual property of various types (application code - VS, PB, Java, docs, etc., or Oracle code, SQL code, Access, etc.) and mission-critical assets.
As I bring on new agencies across the enterprise they are integrated directly into the latest SCM 12.5 virtual environment while I continue to move other agencies from the SCM 12.02 perspective to the SCM 12.5 perspective. There are a half a dozen agencies using the Defect Tracking System that is built into SCM. It is part of the product and up to a few years ago only a few agencies adopted its use and over time more teams are engaging in the use of the form. The form is a Defect, Modification or Enhancement against an application under development.
This is how issues are reported and tracked. Many are kept in Excel spreadsheets and recorded there, Access databases, Word documents, etc. The SCM Defect Tracking Form is attached directly to a CR Package so it follows the SCM activity through the entire life cycle. All I'll say at this time is that it has value to again have a centralized Defect Tracking System contained within the existing SCM tool that you already own. This offers the state a cost savings and removes all the various forms of maintaining issues being reported in the same location as needed for development activities. I can discuss the details of this part of SCM another time. I'll just mention a few advantages: You can attach multiple files to a form (Word docs, Excel spreadsheets, etc.), you can use the form as a running history of development activities against a task and you can print out a details report.
What will have been achieved across the enterprise:
- Centralized State Data Assets
- Centralized Data Repositories
- Standard SCM Tool
- Standard Compiler OpenMake
- Standard Defect Tracking System
- Common Code Library
- Status Accounting and Auditing of SCM projects
- The HART Reporting tool is on the radar
One last item I will mention is that a senior developer Robert Kelley (DAS) took the initiative to create a reporting tool and this is a brief description of the tool: "The goal of the Harvest Automation and Reporting Tool (HART) project was to become intimately familiar with the CA Harvest Software Change Manager Software Development Kit (SDK) by exercising as much of its capability as possible in a C# .NET application. The SDK was accessed by interfacing with a COM DLL provided by CA. The HART tool, when finished, will make it easier to check-in and check-out files on a project-by-project basis, provide ad-hoc reporting such as retrieving a list of all files that have been checked out for more than thirty days for one or more projects, and provide built-in reports such as looking for empty projects. The tool was also designed to separate the user interface from the business logic that makes use of the CA SDK so that the functionality seen within HART can be taken and placed within another project with a different UI."
One of the issues I keep my eye on is performance. The virtual environment was scaled correctly but with so many users and so much data there could be problems. My hope is that there won't be but it is a watch issue for me and basically has always been anyway. When you want to get your work done, you don't want any disruption with connectivity related to storage and retrieval activities.
You think you know what’s in your data. But do you? Most organizations are now aware of the business intelligence represented by their data. Data science stands to take this to a level you never thought of – literally. The techniques of data science, when used with the capabilities of Big Data technologies, can make connections you had not yet imagined, helping you discover new insights and ask new questions of your data. In his session at @ThingsExpo, Sarbjit Sarkaria, data science team lead ...
May. 2, 2016 11:00 PM EDT Reads: 1,002
In his session at @ThingsExpo, Chris Klein, CEO and Co-founder of Rachio, will discuss next generation communities that are using IoT to create more sustainable, intelligent communities. One example is Sterling Ranch, a 10,000 home development that – with the help of Siemens – will integrate IoT technology into the community to provide residents with energy and water savings as well as intelligent security. Everything from stop lights to sprinkler systems to building infrastructures will run ef...
May. 2, 2016 07:00 PM EDT Reads: 1,055
SYS-CON Events announced today that Peak 10, Inc., a national IT infrastructure and cloud services provider, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Peak 10 provides reliable, tailored data center and network services, cloud and managed services. Its solutions are designed to scale and adapt to customers’ changing business needs, enabling them to lower costs, improve performance and focus inter...
May. 2, 2016 06:30 PM EDT Reads: 1,311
Artificial Intelligence has the potential to massively disrupt IoT. In his session at 18th Cloud Expo, AJ Abdallat, CEO of Beyond AI, will discuss what the five main drivers are in Artificial Intelligence that could shape the future of the Internet of Things. AJ Abdallat is CEO of Beyond AI. He has over 20 years of management experience in the fields of artificial intelligence, sensors, instruments, devices and software for telecommunications, life sciences, environmental monitoring, process...
May. 2, 2016 05:15 PM EDT Reads: 1,004
Increasing IoT connectivity is forcing enterprises to find elegant solutions to organize and visualize all incoming data from these connected devices with re-configurable dashboard widgets to effectively allow rapid decision-making for everything from immediate actions in tactical situations to strategic analysis and reporting. In his session at 18th Cloud Expo, Shikhir Singh, Senior Developer Relations Manager at Sencha, will discuss how to create HTML5 dashboards that interact with IoT devic...
May. 2, 2016 05:00 PM EDT Reads: 1,104
So, you bought into the current machine learning craze and went on to collect millions/billions of records from this promising new data source. Now, what do you do with them? Too often, the abundance of data quickly turns into an abundance of problems. How do you extract that "magic essence" from your data without falling into the common pitfalls? In her session at @ThingsExpo, Natalia Ponomareva, Software Engineer at Google, will provide tips on how to be successful in large scale machine lear...
May. 2, 2016 03:45 PM EDT Reads: 1,357
The IoTs will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, will demonstrate how to move beyond today's coding paradigm and share the must-have mindsets for removing complexity from the development proc...
May. 2, 2016 03:00 PM EDT Reads: 391
SYS-CON Events announced today that Ericsson has been named “Gold Sponsor” of SYS-CON's @ThingsExpo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. Ericsson is a world leader in the rapidly changing environment of communications technology – providing equipment, software and services to enable transformation through mobility. Some 40 percent of global mobile traffic runs through networks we have supplied. More than 1 billion subscribers around the world re...
May. 2, 2016 02:45 PM EDT Reads: 1,103
You deployed your app with the Bluemix PaaS and it's gaining some serious traction, so it's time to make some tweaks. Did you design your application in a way that it can scale in the cloud? Were you even thinking about the cloud when you built the app? If not, chances are your app is going to break. Check out this webcast to learn various techniques for designing applications that will scale successfully in Bluemix, for the confidence you need to take your apps to the next level and beyond.
May. 2, 2016 12:00 PM EDT Reads: 1,558
There is an ever-growing explosion of new devices that are connected to the Internet using “cloud” solutions. This rapid growth is creating a massive new demand for efficient access to data. And it’s not just about connecting to that data anymore. This new demand is bringing new issues and challenges and it is important for companies to scale for the coming growth. And with that scaling comes the need for greater security, gathering and data analysis, storage, connectivity and, of course, the...
May. 2, 2016 11:45 AM EDT Reads: 979
SYS-CON Events announced today that Fusion, a leading provider of cloud services, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Fusion, a leading provider of integrated cloud solutions to small, medium and large businesses, is the industry's single source for the cloud. Fusion's advanced, proprietary cloud service platform enables the integration of leading edge solutions in the cloud, including cloud...
May. 2, 2016 10:00 AM EDT Reads: 2,648
Digital payments using wearable devices such as smart watches, fitness trackers, and payment wristbands are an increasing area of focus for industry participants, and consumer acceptance from early trials and deployments has encouraged some of the biggest names in technology and banking to continue their push to drive growth in this nascent market. Wearable payment systems may utilize near field communication (NFC), radio frequency identification (RFID), or quick response (QR) codes and barcodes...
May. 2, 2016 09:15 AM EDT Reads: 883
The increasing popularity of the Internet of Things necessitates that our physical and cognitive relationship with wearable technology will change rapidly in the near future. This advent means logging has become a thing of the past. Before, it was on us to track our own data, but now that data is automatically available. What does this mean for mHealth and the "connected" body? In her session at @ThingsExpo, Lisa Calkins, CEO and co-founder of Amadeus Consulting, will discuss the impact of wea...
May. 2, 2016 08:45 AM EDT Reads: 801
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
May. 2, 2016 06:30 AM EDT Reads: 2,550
The IoT has the potential to create a renaissance of manufacturing in the US and elsewhere. In his session at 18th Cloud Expo, Florent Solt, CTO and chief architect of Netvibes, will discuss how the expected exponential increase in the amount of data that will be processed, transported, stored, and accessed means there will be a huge demand for smart technologies to deliver it. Florent Solt is the CTO and chief architect of Netvibes. Prior to joining Netvibes in 2007, he co-founded Rift Technol...
May. 1, 2016 11:00 PM EDT Reads: 1,629
We’ve worked with dozens of early adopters across numerous industries and will debunk common misperceptions, which starts with understanding that many of the connected products we’ll use over the next 5 years are already products, they’re just not yet connected. With an IoT product, time-in-market provides much more essential feedback than ever before. Innovation comes from what you do with the data that the connected product provides in order to enhance the customer experience and optimize busi...
May. 1, 2016 05:00 PM EDT Reads: 1,090
SYS-CON Events announced today that Stratoscale, the software company developing the next generation data center operating system, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Stratoscale is revolutionizing the data center with a zero-to-cloud-in-minutes solution. With Stratoscale’s hardware-agnostic, Software Defined Data Center (SDDC) solution to store everything, run anything and scale everywhere...
May. 1, 2016 01:30 PM EDT Reads: 1,616
Angular 2 is a complete re-write of the popular framework AngularJS. Programming in Angular 2 is greatly simplified – now it's a component-based well-performing framework. This immersive one-day workshop at 18th Cloud Expo, led by Yakov Fain, a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay, will provide you with everything you wanted to know about Angular 2.
May. 1, 2016 01:00 PM EDT Reads: 1,786
SYS-CON Events announced today that Men & Mice, the leading global provider of DNS, DHCP and IP address management overlay solutions, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. The Men & Mice Suite overlay solution is already known for its powerful application in heterogeneous operating environments, enabling enterprises to scale without fuss. Building on a solid range of diverse platform support,...
May. 1, 2016 12:15 PM EDT Reads: 2,367
Whether your IoT service is connecting cars, homes, appliances, wearable, cameras or other devices, one question hangs in the balance – how do you actually make money from this service? The ability to turn your IoT service into profit requires the ability to create a monetization strategy that is flexible, scalable and working for you in real-time. It must be a transparent, smoothly implemented strategy that all stakeholders – from customers to the board – will be able to understand and comprehe...
May. 1, 2016 11:00 AM EDT Reads: 1,131