Skip to main content

Posts

Showing posts from 2017

More Agile and Iterative Hardware Development for Azure

H ardware is essentially a vehicle for Software.   With many projects requiring very specific hardware requirements, such as printing without  start-up  time, artificial intelligence, and more  controversial  projects like Bitcoin Mining, the route to market could be significantly improved with a more agile and iterative approach.        -  open-source hardware  Project Olympus   One of the goals  behind P roject Olympus is to close the gap of the average 1.5 years of  development cycle for hardware and get closer to the  typical  increments being achieved for  software development.        the incompleteness theorem    Microsoft's rationale for sharing an incomplete design is that "open source hardware development is currently not as agile and iterative as open-source software. ... By sharing designs that are actively in development, Project Olympus will allow the community to contribute to the ecosystem by downloading, modifying, and for

Simple Git branching strategy for release cycles

Coming up with a branching strategy that works well can be challenging when working with multiple developers and managing release cycles. A simple approach is presented here to manage release cycles, with a small to medium sized team of developers while still being able to react to production issues and fix bugs. The primary goal being to isolate work streams without impacting development progress. Background Git does not enforce any particular strategy when it comes to branching which is partly what makes it such a great and flexible repository. The problems start to arise though as you move into different stages of your development process. As an example, you have a release almost complete but don’t want to impede progress on the upcoming release cycle which is where the majority of effort is required. The Basic Approach The focus is around producing a release while still being able to react to hotfixes or production issues without impacting on going development of featu

Azure Portal - Web-based code editor for App Services

A feature that caught my eye is the App Service Editor , a preview addition to the  Development Tools  section of the navigation bar of your app in the Azure Portal. ☁ In essence it is a  web-based editor for App Service. That's right, you can edit and save your web site LIVE with a clean, easy to use, web editor! We have already come to love the Visual Studio Team Services code editor, which allows code and config edits pre-deployment but this feature is production level, post deploy / release. Cannot stress how useful this is for quick fixes and post deployment edits which would otherwise mean re-deploying or falling back to FTP. Project  Kudu  has been around for a while now but great to see it appearing as a first class citizen in the portal. The underlying functionality is provided by the  Monaco Editor , which powers Visual Studio Code . It is worth noting that if Continuous Integration (CI) has been enabled for your application, that the next build will overwr

Test connection to remote SQL Server Database from an Application server

While aiming to test whether a SQL connection is succeeding between an Application server and a remote Database Server, it is often not possible to install SQL Server Management Studio (SSMS) or Microsoft Command Line Utilities (MsSqlCmdLnUtils) due to the locked down nature of the targets, particularly in test and production environments. A lightweight approach that worked for me recently, makes use of components that have been a part of windows boxes for a long time, albeit different levels of database driver support as the components have evolved, the Microsoft Data Access Components (MDAC). MDAC provide a Universal Data Link, which can be configured using a common user interface for specifying connection properties as well as testing the connection.  Data Link properties dialog box Get started – Create a simple text file • Simply create a  .txt file anywhere on your system rename the extension to .udl • Double click the Un

Debugging a Batch Script, managed by the Windows Task Scheduler (Part 1)

I was contacted recently with an interesting problem that had arisen for a client where a batch script was not working as expected and silently failing in a production environment. It was being run by the Windows Task Scheduler which was reporting a '1' return code from the Task : Action  history. As the script was configured to run silently there was no easy way to see what was going wrong.  The Event Log did not contain anything useful and u nfortunately, the batch script didn't contain any logging statements. There was also a strong desire not to install any remote tooling or alter the code as it had been working previously and was currently servicing. I thought i would share the steps taken to identify and fix the issue as it is not uncommon to be faced with a black box, which seemingly doesn't offer much at first glance, but with a little investigation, the lights can soon be turned back on. Understanding the Stack After some investigation it became

ASP.Net Core 1.1 DOS Vulnerability

January 2017 Update for ASP.NET Core 1.1 Yesterday, Microsoft released an update for ASP.NET Core 1.1 due to  Microsoft Security Advisory 4010983 . The advisory is for a vulnerability in ASP.NET Core MVC 1.1.0 that could allow denial of service.  Affected Software The vulnerability affects any Microsoft ASP.NET Core project if it uses the following affected package version. Affected package and version Package name Package version Microsoft.AspNetCore.Mvc.Core 1.1.0 Advisory FAQ How do I know if I am affected? ASP.NET Core has two different types of dependencies, direct and transitive. If your project has a direct or transitive dependency on Microsoft.AspNetCore.Mvc.Core version 1.1.0 you are affected. Full details of the advisory can be found  here:  https://technet.microsoft.com/en-us/library/security/4010983 Further details on how to obtain the update and instructions for install can be found on the .Net Core Blog:  https://blogs.msd