Category Archives: Tech Reviews

Not so many years ago, departments tended to run FileMaker database applications on desktops. In more recent years, those apps started moving to the web. In 2017, desktop apps are more or less passé, and websites are losing ground to mobile apps.

Given that FileMaker Inc. is an Apple subsidiary, it is no surprise that the FileMaker Platform now has good support for iPads and iPhones with the FileMaker Go app. It’s not a big surprise that FileMaker only supports Android with web apps, but it is disappointing. FileMaker has confirmed that it has no plans to create Android apps.

Like the various Linux server and desktop distributions, the container-oriented Linux distributions mix and match various projects and components to construct a complete container infrastructure. These distros generally combine a minimal OS kernel, an orchestration framework, and an ecosystem of container services. RancherOS not only fits the mold, but takes the minimal kernel and the container paradigm to extremes.

RancherOS is a container infrastructure platform that runs Docker directly on top of a reduced footprint (20MB) Linux kernel. Rancher’s take on a minimalist OS is unique in that even the init process is a Dockerized service container. Likewise, traditional system level services, like NTP and DNS, have been replaced with containerized equivalents.

The debates over mobile web, native code, and hybrid mobile apps may never end, but one thing everyone can agree on is that we can’t build mobile apps fast enough. Low-code development platforms take a visual, drag-and-drop approach to building apps, allowing developers to deliver applications faster at lower costs. So-called no-code tools even promise to put app building within reach of nondevelopers.

Several years into widespread JavaScript fatigue, the front-end ecosystem isn’t getting any smaller or simpler. The world of front-end testing is also expanding, and the tools tend to be opinionated from framework to framework. This is sort of a double-edged sword. One the one hand, picking a framework narrows the testing options we have to choose from. On the other hand, testing stacks are less portable across frameworks, so we may have to learn a whole new set of tools with each new project.

In general, there are three structural layers to testing in JavaScript: test runners, test frameworks, and assertion libraries. Every testing setup requires each layer, although sometimes these layers will be consolidated into a single tool. For example, Jasmine is both an assertion library and a test framework. Beyond having to cover each of these structural components, you will typically add other useful tools to your testing stack, such as mocking libraries and code coverage tools. Below, I’ll lay out the most common tools used in React testing and how to go about choosing which ones are right for you.

Scaling a relational database isn’t easy. Scaling a relational database out to multiple replicas and regions over a network while maintaining strong consistency, without sacrificing performance, is really hard.

InfoWorld

How hard? The CAP Theorem says that you can only have two of the following three properties: consistency, 100 percent availability, and tolerance to network partitions.

Containers have been all the rage in the open source world for a number of years, but noticeably absent from Windows until now. In Windows Server 2016, Microsoft released its own container capabilities. Furthermore, Microsoft has given its customers the flexibility of operating containers at the Windows Server level or at the Hyper-V level.

Before I go on, let me take just a moment to explain the basic concept of a container. Containers are a form of virtualization, but they are quite different from virtual machines. Virtual machines use hardware virtualization to allow multiple OS instances to run side by side, isolated from one another by the virtual machine structure.

Alpine Linux is a minimal Linux distribution, originally built with Gentoo, but now independent and self-hosting. In some respects Alpine is conceptually similar to NanoBSD, in that technical users can start with Alpine to build a Linux system with just what is need to accomplish the mission, and nothing more.

Typically seen embedded in devices or appliances, Alpine got a big boost when it was selected to replace Ubuntu as the base image for Docker. Security, reliability, and solid development practices were the main reasons.

Everyone wants software development to be easier and faster, even many developers. Unfortunately, the complexity of powerful programming languages isn’t always compatible with speed. Hence the popularity of “low-code” development tools, which allow you to assemble applications by dragging and dropping icons for interface elements and logical operators onto a canvas. The code gets generated behind the scenes.

OutSystems is a low-code platform that lets you visually develop your entire application, integrate with existing systems, and add your own custom code when you need it. OutSystems primarily targets web and mobile hybrid apps, and its development tools run on Windows. It also offers a beta-stage web-based development platform, which I did not test extensively, and exposes RESTful APIs for use as an MBaaS (mobile back end as a service).

Application development is difficult, time-consuming, and expensive. For a business, that means prioritizing some app development projects over others, and waiting for the development team to turn ideas into code. Often, the application the business needed yesterday doesn’t arrive for months. Sometimes it never arrives at all.

Low-code and no-code development tools promise more immediate gratification by allowing non-programmers to create their own apps, or by enabling developers to create those apps much faster. Case in point: Appian’s Quick Apps designer, a tool that allows business users to create simple applications on the Appian Platform.

Application development is difficult, time-consuming, and expensive. For a business, that means prioritizing some app development projects over others, and waiting for the development team to turn ideas into code. Often, the application the business needed yesterday doesn’t arrive for months. Sometimes it never arrives at all.

Low-code and no-code development tools promise more immediate gratification by allowing non-programmers to create their own apps, or by enabling developers to create those apps much faster. Case in point: Appian’s Quick Apps designer, a tool that allows business users to create simple applications on the Appian Platform.