Tuesday, January 24, 2017

What is the Test Pyramid?

What is the Test Pyramid?

  1. One of the more well-known models in the test automation world is the Test Pyramid. Originally coined by Mike Cohn in 2009, the Test Pyramid is designed to show what a well-structured test suite looks like, based on the application layers being tested. It has gone through many variations over the years, but generally, it looks something like this:
    1. test-pyramid
    2. https://dzone.com/articles/a-test-pyramid-heresy


The next wave of software development

The next wave of software development

  1. What is the current wave?
  2. What is a wave? 
    1. A wave is a paradigm shift, a different approach of development than the preceeding way.
  3. News of the next wave
    1. Learn AI and data science - shadows of the future
    2. http://www.infoworld.com/article/3160088/application-development/want-to-be-a-software-developer-time-to-learn-ai-and-data-science.html

Tuesday, January 17, 2017

PolyFill

PolyFill

  1. Definition from the creator?
    1. Alex Sexton also classifies polyfilling as a form of Regressive Enhancement. I think that sums it up nicely.
    2. A shim that mimics a future API providing fallback functionality to older browsers.
    3. A polyfill, or polyfiller, is a piece of code (or plugin) that provides the technology that you, the developer, expect the browser to provide natively. Flattening the API landscape if you will.
      1. https://remysharp.com/2010/10/08/what-is-a-polyfill
  2. Phonegap
    1. “The ultimate purpose of PhoneGap is to cease to exist.”
    2. PhoneGap is the most comprehensive, and most influential polyfill in the history of web development. PhoneGap had the audacity to envision the web as a first-class citizen on mobile, and did so in an era when we were hacking around the bug-laden iOS 4 and Android 2.2 browsers. But like all polyfills, PhoneGap was built with its ultimate obsolescence in mind — in fact, it’s one of the frameworks’s founding goals.
      1. http://developer.telerik.com/featured/diminishing-use-case-hybrid-apps/

.Net Core Business Reasons

.Net Core Business Reasons

  1. 2017-01 Scott Hanselman
    1. If you want to create an ASP.NET Core application that is cross platform;
    2. If want to take advantage of building container applications;
    3. If you want to break free of global installation with side-by-side versions of .NET Core;
    4. If you want superior performance.
      1. http://developer.telerik.com/topics/net/the-net-core-2-wave/
  2. Choosing between .NET Core and .NET Framework for server apps

    1. You have cross-platform needs.
    2. You are targeting microservices.
    3. You are using Docker containers.
    4. You need high performance and scalable systems.
    5. You need side by side of .NET versions by application.
      1. https://docs.microsoft.com/en-us/dotnet/articles/standard/choosing-core-framework-server

Monday, January 16, 2017

Philosophy of the computer program


Philosophy of the computer program

  1. is the term "computer" outdated?
  2. Is the term "electronic" too often aimed at the digital action of a device powered by electricity?
  3. Is electronic different than electrical? An electrical device vs. an electronic device.
  4. Statements that boggle
    1. A computer program is a specification of behavior.
      1. Context: A computer program is a specification of behavior. The purpose of a program is to make a machine behave in a certain way. The text of the program consists of the instructions that the machine follows. The sum of those instructions is the behavior of the program.
      2. http://blog.cleancoder.com/uncle-bob/2017/01/13/TypesAndTests.html
      3. Questions on this:
        1. What is a "specification"?

        2. Is a computer program a specification in whole or in part?

Tuesday, January 10, 2017

Helper Apps - in what form to get started

When the opportunity to create a helper app arises no matter how small the action of it will be the question is in what form should this helper app be made in?

Form meaning through what framework.

In considering a protocol of helper apps the first step could always be:


  1. Console app - work out general methods

Beyond that it might be beneficial to bring the general methods into UI. Either for self development or for the benefit of others. Although it can be beneficial to have a console version for low fi sharing.
  1. WPF - is there a benefit to a UI?
  2. WCF - is there an advantage to the practice of the web?
And then question arises for the .net developer if having the app in another language would be beneficial for continual learning?

So is it better to have a working console app and then copy it into another language so to have those comparisons available? Or is it better to just start in another language?