Terminal, Console, Shell — We’ve all heard these terms, but do you know the difference between them?
The word Terminal comes from terminate, as in the “terminal” end of a communications process.
You may have heard the term ‘dumb terminal’ referring to basic text-based computer that is communicating with another system that’s doing all the hard work — a server or mainframe.
The first type of terminal was known as a teletypewriter (TTY). Instead of having a screen, a TTY was essentially a smart typewriter/printer combo.
When you typed the input was sent to a computer as well as being…
One of the most simple ways to set up an SSH Tunnel is to make use of the ssh command’s -D argument. This argument allows you to specific a port upon which to listen locally. This causes ssh to act as a local SOCKS proxy server, routing any traffic pointed at this local proxy through the SSH tunnel. More details about the -D argument of ssh is shown below in the form of an extract from ssh’s man page.
Specifies a local “dynamic” application-level port forwarding. This works by allocating a socket to listen to port on the…
I recently saw several articles that mentioned research into how password managers store your secrets in memory. Some of the results were not great. Several password managers were reported as leaving some or all of your secrets in memory, as plain text, even after they have been used.
Obviously, this is not ideal.
However, this absolutely does not mean that we should abandon password managers. Password reuse, in other words, people using a password on one website or service that they use on others, is becoming the most common way for malicious actors to gain access to your online accounts…
In recent years, open source software has become more frequently used by businesses and individuals alike. Why is this, and what makes open source solutions so increasingly popular? Below I list five reasons why open source software can be good for your business.
The security of software used in your business is very important. It is used to protect, process and store your company’s intellectual property. By its nature open source software has the code it comprises of visible to all. This means large open source projects are frequently reviewed by the community, allowing security vulnerability to be spotted and…
It’s a modern day standard that all web applications store their platform specific configuration in environment variables. In the PHP world, this usually mean a
.env file in the root of your project.
Most modern frameworks, such as Laravel and Symfony, come with built in support for a
.env file. For older projects, which may have an outdated framework, or perhaps no framework, there may be no support at all. In some cases, you might simply prefer to use a more standard environment file over the way in which configuration is currently provided by your project.
It is generally recommended that developers of web applications ensure their users pick decent passwords. This often means ensuring a minimum length, preventing common passwords, or words from the dictionary. Sometimes users need to mix and match various numbers, letters, and symbols too.
But we can do better.
Several of my open source packages focus around password security. The most popular of which let developers check their users’ passwords, to ensure they have not been exposed in 3rd party data breaches. …
There are many traits that a senior developer should have. Here’s my take on the essentials.
I feel I need to mention soft skills first and foremost, as they are so frequently overlooked. They’re more than just being nice.
Soft skills revolve around an individual’s ability to harmoniously interact with others. They’re an essential complement to the hard skills more commonly associated with being a great developer.
Senior developers should have the ability to discuss their own thoughts and genuinely take in the opinions of others. Without this, an otherwise senior developer can be at risk of becoming a lone…
Minimum viable product (or MVP) is a term that is thrown around a lot in enterprise software development, but not everyone is clear about what it means. Or specifically, what it should mean. It’s a source of significant debate, but this is my take.
The minimum viable version of a product is the first version with sufficient features to satisfy the stakeholders and implement the product’s essential functionality. The ‘minimum’ part of MVP will vary heavily, dependant on the aim of the project and the expectations of the people involved.
Here are a few simple examples to demonstrate the concept.
This article is aimed at developers looking to migrate existing data from one database schema to another. It should be very useful if you are planning to move from one system to another, such as moving from Drupal to WordPress, or wishing to migrate external data into a new bespoke system.
UXDM (Universal Extensible Data Migrator) is an open source PHP library I created to simplify the process of moving data from any source to any destination. Installing UXDM is easy via composer, as shown below.
composer require divineomega/uxdm
The example below shows a simple migration of data between two…
🖥️ Full stack developer