Notes on customizing the Visual Studio Code text editor.
Notes on customizing the Visual Studio Code text editor.
Notes on starting Python development, with specific details on using Microsoft Windows.
Notes on useful tools and libraries for Python.
This is a guide for setting up an Apple Mac for software development. Current versions of macOS have a fairly good default configuration for general-purpose use, but you do need to to adjust some of the security settings. In addition, you need to install several pieces of software in order to make the system useful for development.
The restic utility provides a convenient and well-designed command-line tool for backing up files and directories.
Notes on developing software with the Go language.
Notes on setting up the Neovim text editor.
This is a set of notes for setting up an installation of the Fedora Workstation Linux distribution on your PC, specifically for systems administration and Web development.
This is a set of notes for setting up an installation of the Solus Linux distribution on your PC, specifically for systems administration and Web development.
PowerShell is an object-oriented shell that is built on .NET, and the custom programming language that runs within that shell. Third-parties such as VMWare and Amazon Web Services provide modules to enable users to work with their products through PowerShell. You can also supplement the capabilities of PowerShell modules by directly accessing classes from the underlying installation of .NET, and by running standard commands and scripts from the host operating system.
This article covers the Open Source .NET Core, and associated tools.
Notes on customizing the Atom text editor.
PostgreSQL is the most capable Open Source database server available, with functionality that can complete or even exceed proprietary SQL database products.
Setting up MySQL remote access with SSL encryption is surprisingly awkward. This article describes all of the steps that are necessary to make this feature work in practice.
Ansible provides an Open Source tool for provisioning, configuring and orchestrating changes on systems that is fundamentally much simpler and more flexible than older tools such Puppet and Chef. This makes it suitable for a very wide range of requirements, from setting up a few workstations to deploying applications and updates across hundreds or thousands of servers.
The Pipeline Plugin for the Jenkins Continuous Integration system enables you to define jobs in code, and store them as files within your source code repositories. Version 2 of Jenkins includes Pipeline as standard, and it is easy to add Docker support.
ERB (Embedded RuBy) is a feature of Ruby that enables you to conveniently generate any kind of text, in any quantity, from templates. The templates themselves combine plain text with Ruby code for variable substitution and flow control, making them easy to write and maintain.
Git is fairly logical once you have learned the ideas behind it, so this articles has quite a lot on concepts, and much more abbreviated notes on the important commands.
There are many, many articles on configuring particular software or operating systems for security. The quality varies widely, and most of them miss out one or more important points. Perhaps a better approach might be to start with the basic concepts, and then apply those to the system, rather than just working with lists of tweaks. Here is an attempt to define some of the basic technical issues of computer security, in plain language.
Apache Derby (or Java DB) provides a small set of libraries that can be added directly to any Java program that needs database storage capabilities, such as a desktop application, network service, or Web application. Generated Derby databases may also be bundled with your application, to remove the need for any separate installation or configuration. In embedded mode, the Derby libraries can directly read database files that are held in JAR archives.
The VNC (Virtual Network Computing) facilities provide remote access to desktops, and allow your Linux systems to act as terminal servers, running many network-accessible desktops simultaneously. Unfortunately the flexibility of VNC makes it less approachable than other remote desktop solutions.
An introduction to the security facilities of Open Source UNIX-like operating systems, focusing on Linux distributions.
There are many service monitoring products, but Monit is unusual. It tests for specific conditions and carries out actions when they occur, rather than collecting for analysis and graphing. Monit is frequently used to improve the robustness of systems.
MySQL provides all of the essential functionality required for a SQL database service. Although it is most frequently used to provide data storage for Web applications on the same system, MySQL supports replication and clustering across networks.
A tutorial on how to configure a fresh Linux installation for greater security.
Today, several implementations of Ruby exist, all using the same language syntax, and providing the same platform components. This article is a set of notes on the standard components of this common Ruby platform.
Rake enables you to define a set of tasks and the dependencies between them in a file, and then have the right thing happen when you run any given task. Each task may be either one of the built-in types, or a block of your own Ruby code. It was originally created to handle software build processes, but the combination of convenience and flexibility that it provides has made it the standard method of job automation for Ruby projects.