LAMP Stack for Ubuntu 18.04 Bionic Beaver Server

The new LTS is out and its fantastic. While 17.10 was an excellent step out of the Unity disaster, 18.04 has made some real strides that were necessary to bring Ubuntu to the bleeding edge with Java9 , PHP7.2 , and so on. Its actually easier than ever before to install a solid, expansive, LAMP stack foundation. Some major improvements from 17.10 include the default configuration of a phpmyadmin user, an upgrade from PHP7.1, no need to enable servers automatically starting after reboot, and more. We’ll be covering the basics such as Apache PHP MariaDB and phpMyAdmin.

Eclipse Oxygen Plugin Install Fails or Read Repository Issues on Linux

You’ve recently upgraded to Java9, most likely using OpenJDK and you’re trying to install some plugins perhaps in Eclipse Oxygen or you’re engaged in some other activity trying to access a repository and you’re getting failures. Perhaps you’ve even tried to install by way of “dragging the button” onto Eclipse and now after restart your installation has become corrupted. What’s even more frustrating is that possibly some repository access seems to work, while others fail. You see messages like trustAnchors parameter must be non-empty and wonder what that means.

What’s the problem?

Installing Java 9 and Eclipse Oxygen on Ubuntu 17.10

This is still unfortunately not an entirely straightforward process, at least insofar as getting Eclipse running smoothly out of the box. This is primarily because of the recent release of various versions around the same timeframe causing some upset. The majority of which falls on Java 9 having made changes to how it uses its module system and the manner in which Eclipse organizes its runtime environment.

Some recent developments have made things easier, however, a manual installation of Eclipse is still simply the best route to take at the moment.

How to Add Multiple Elastic IP to EC2 in the AWS for Multiple SSL Certificates

There are a few concepts you should probably understand right off the bat. Firstly, Amazon Web Services only allows five public IP addresses to be associated with a single EC2 instance. This is not necessarily a punishing or truly restrictive move on their part. The truth is that if you are trying to attach more than five public IPs to a single EC2 instance, then you are probably doing something wrong.


Mono not working on Apache Solution

While there are a myriad of reasons why your ASP.NET C# might not be working after a clean install in Linux, there is a very common problem that will prohibit Mono from working because of version 2.0 vs 4.0 issues. Typically this occurs on source code installations as opposed to package installs (particularly in CentOS / RHEL / Amazon Linux, not so much in Debian distributions).

You will see evidence of this crop up in your /var/log/httpd/error_log with an error message that looks like:

Cannot open assembly ‘/usr/lib/mono/2.0/mod-mono-server2.exe’: No such file or directory.

Fortunately there’s an easy fix.

Proteus – a command-line program for radix base conversion

There’s a github project by the name of Proteus that I started recently. It supports the basics such as converting ASCII text ⇒ Binary, or OctalBase64 and so on. While you can find any number of online sites that have webtools which can convert blocks of text (or integers) for you, there’s really no basic tool out there for converting.

Proteus Screenshot
Verbose [and colored] example of binary-to-ascii conversion

List of Things to Check on Live Install of Linux for Laptops

This isn’t going to be a very long or in-depth article, just some thoughts that I’ve had about the subject in the past and a sort of general history about Linux installations on Laptops. I decided to initially put this down for a couple reasons, first and foremost because I use these articles for cataloguing what I’m up to, and notes to act as a reference for things I may check up on again in the future (thus why I post code snippets and mini-howtos on here for the most part).

Database Management Systems

Single Instance Exception in Entity-Relationship Diagram Design

Entities in the ER (Entity Relationship) model are typically nouns, existing physically, digitally, or conceptually. It is often suggested that entities should only exist (particularly in regards to the design phase) if they will contain more than one instance. For example an Employees entity would conceivably have multiple employees. If it is known that there would only ever be one employee, and that the employee would never change, then logically any information about that employee could be kept in the Application domain, outside of the Database altogether.

The idea behind this concept is that executing queries on data which is static in nature is a resource waste.

A Nicer Custom FISH Shell Prompt

Over the past couple years Fish has really become my favorite go to shell. At the end of the day I think most people fall into either the bash, fish, or zsh shell camps. The truth is that while many of the zsh fans argue that any interesting feature eventually makes it into the shell, the honest truth is that all that extensibility actually works against it. Most definitely bash is fine for most things, but fish is clearly superior when it comes to just having an “out-of-the-box” experience. This especially includes the advanced type of completion it offers. Yes you can get anything you want in zsh, just keep it updated and modify it, but that just gets out of hand at times.

As for fish, it suffers from this problem as well when you “want to go off the reservation”. However, thankfully, that’s largely unnecessary for the basic “goodies”. However, one thing I do like is how you can basically “trade” functionality (under which aliases would fall into this category). The prompt for the shell is no different and so you can just copypasta this into a file and drop into your ~/.config/fish/functions/ directory.

Add Functionality to Button or Call Function with Button in Unity 5

With all of the changes to how Unity operates with even basics like Buttons, its easy to read deprecated information that just won’t work in your new Unity 5 (5.5 or 5.6+) projects. It really seems like the major wave of changes started occurring around 4.7, and what happened to how we used to make “buttons” with OnClick() functions or whatever.

However, even now, I still see a lot of misinformation that does actually work, but its the wrong way to do it, and can only lead to confusion or problematic behavior down the road. It is surprisingly easy to do button functionality, and I’ll try to explain each part as I go so you understand the mechanics behind what’s going on.

So we’ll roll with a simple and easy example, doing a step-by-step on how to make make a proper quit button.

1. We’ll be creating a script to attach the button.

2. Then we’ll be adding a call to a function in this script, using the built-in OnClick() list in the inspector.