Skip to content

Instantly share code, notes, and snippets.

View johnou's full-sized avatar

Johno Crawford johnou

View GitHub Profile
/**
* @author Johno Crawford ([email protected])
*/
@Component
class RedisClientFactory {
private static final Logger logger = LogManager.getLogger(RedisClientFactory.class);
private static final int RETRY_INTERVAL = 500;
private static final int RETRY_ATTEMPTS = 1;
- name: Build
uses: game-ci/unity-builder@v4
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with:
projectPath: ${{ inputs.projectPath }}
targetPlatform: StandaloneWindows64
customImage: unityci/editor:windows-6000.0.58f2-windows-il2cpp-3
@johnou
johnou / 10-upm-pre.yml
Created October 6, 2025 09:32
.game-ci/steps /10-upm-pre.yml
- name: write-upm-config
hook: before
image: mcr.microsoft.com/powershell:lts-windowsservercore-ltsc2022
shell: powershell
commands: |
$ErrorActionPreference = 'Stop'
$cfg = @'
cacheRoot = "C:\\github\\workspace\\.upm"
'@
@johnou
johnou / top.py
Created April 15, 2025 10:02
Monitors a Java process and prints top CPU threads with cleaned stack traces.
import subprocess
import time
import re
# === CONFIGURATION ===
JSTACK_PATH = "/usr/lib/jvm/java-11-amazon-corretto/bin/jstack"
JAVA_PID = "30381"
INTERVAL = 5 # seconds between samples
TOP_N = 5 # top N threads to show
STACK_LINES = 5 # stack lines for threads 2..N
@johnou
johnou / AwsDataSource.java
Created August 21, 2024 10:02
AwsDataSource
import org.apache.commons.dbcp2.BasicDataSource;
import java.util.HashSet;
import java.util.Set;
public class AwsDataSource extends BasicDataSource {
@Override
public synchronized void setDriverClassName(String driverClassName) {
if ("software.amazon.jdbc.Driver".equals(driverClassName)) {
@johnou
johnou / SQLExceptionOverride.java
Created August 5, 2024 13:43
SQLExceptionOverride
package org.apache.commons.dbcp2;
import java.sql.SQLException;
public interface SQLExceptionOverride {
/**
* Determines whether a connection should be disconnected based on the provided SQLException.
*
* @param sqlException the SQLException to evaluate
@johnou
johnou / gist:7786c91a0ed3df1ee7399fb005441b42
Created August 13, 2021 09:35
Sparkpost SMTP relay exim configuration
Host smtp.eu.sparkpostmail.com
Port 587
Alternative Port 2525
Authentication AUTH LOGIN
Encryption STARTTLS
Username SMTP_Injection
Password The password is an API key with Send via SMTP permissions.
Open /etc/exim4/exim4.conf.template and find the following sections:
package {
import flash.display.Sprite;
import flash.events.LocationChangeEvent;
import flash.geom.Rectangle;
import flash.media.StageWebView;
public class Main extends Sprite {
private static const CAPTCHA_ENDPOINT : String = "https://www.habbo" + ".com/api/public/captcha";
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\", true);
RegistryKey subkey = key.CreateSubKey("Internet Settings");
int val = (int)subkey.GetValue("SecureProtocols");
WarningBox warningBox = new WarningBox();
if (val < 2048)
{
void AddKey()
{
@johnou
johnou / EnableTLS12.reg
Created February 15, 2021 19:53
Enable TLS 1.2 Windows 7
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"SecureProtocols"=dword:00000a80
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"SecureProtocols"=dword:00000a80