Skip to content

Instantly share code, notes, and snippets.

View monodot's full-sized avatar
💭
I am working very hard

Tom Donohue monodot

💭
I am working very hard
View GitHub Profile
@monodot
monodot / ssl-testing.md
Last active April 21, 2022 13:00
Using openssl to test an SSL connection with a CA file, pulled out from a Java keystore

Java, do you trust me? 🤔

Using openssl to test an SSL connection to google.com, using a CA file that's been pulled out from a Java keystore. For those days when you want to verify that you've got the right certificate in the store:

  1. Download the Equifax root certificate (which is the root CA for Google)
  2. Import the certificate into a new Java keystore
  3. Export the certificate back out again
  4. Convert the certificate to PEM
  5. Use openssl to test an SSL connection to Google with that cert
@monodot
monodot / so.multipletags.sql
Created October 29, 2017 11:42
Stack Overflow: find questions matching multiple tags
SELECT TOP 100
Questions.Id
AS [Post Link],
Questions.Title,
Questions.AnswerCount,
Questions.ViewCount,
Questions.FavoriteCount,
Questions.Score,
Questions.LastActivityDate,
Questions.CreationDate
@monodot
monodot / download-live-site.sh
Created November 18, 2017 13:38
Script to download MySQL database & files from live to development server
#!/bin/bash
#===============================================================================
# This is a template for a script I use on a lot of sites to copy the database
# (MySQL) and any uploaded files to the development site, and modify the
# database as required.
#
# The script should be on the development server. The live site can either be on
# the same server, or a remote server connected via SSH.
#
@monodot
monodot / gist:56ab3bcf77f50768583476b8f13d801b
Created November 27, 2017 18:16
red-hat-customer-portal-download.sh
curl --cookie "JSESSIONID=<your_session_id_here>;" -OL https://access.redhat.com/jbossnetwork/restricted/softwareDownload.html?softwareId=<id_here>
@monodot
monodot / settings.xml
Last active January 31, 2018 13:11
Settings file to configure Maven to pull artifacts from Red Hat repositories - for JBoss Fuse and Fuse Integration Services (FIS). See https://developers.redhat.com/products/fuse/hello-world/
<?xml version="1.0"?>
<!-- See also: https://access.redhat.com/documentation/en-us/red_hat_jboss_fuse/6.3/single/developing_and_deploying_applications/index#Develop -->
<settings>
<profiles>
<profile>
<id>extra-repos</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@monodot
monodot / ProtobufPlugin.java
Created June 17, 2018 21:17
Messing around with XJC plugins to get it to generate Protobuf Marshaller classes for Infinispan
package com.example;
import com.sun.codemodel.*;
import com.sun.tools.xjc.Options;
import com.sun.tools.xjc.Plugin;
import com.sun.tools.xjc.model.Model;
import com.sun.tools.xjc.outline.ClassOutline;
import com.sun.tools.xjc.outline.EnumConstantOutline;
import com.sun.tools.xjc.outline.EnumOutline;
import com.sun.tools.xjc.outline.Outline;
@monodot
monodot / DailyTimer-context.xml
Created September 12, 2018 09:20
Example Camel route which uses the Quartz2 component to fire every day at 12am
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
">
<bean id="processor"
class="com.cleverbuilder.cameldemos.spring.scenarios.dailytimer.PrintDocuments"/>
@monodot
monodot / Jenkinsfile
Created May 29, 2019 16:55
Declarative Jenkins pipeline which reads a shared library from a private Git repo
/*
Firstly, you need to add a new Credential in Jenkins to access your Git.
Grab the ID of the Credential and use it in the credentialsId field below.
*/
library identifier: 'mylibraryname@master',
//'master' refers to a valid git-ref
//'mylibraryname' can be any name
retriever: modernSCM([
$class: 'GitSCMSource',
@monodot
monodot / FileUploadRoute.java
Created July 2, 2019 08:28
Example Camel route for uploading some content with a filename
// Test using:
// curl -v -X PUT -H "filename: myfile.txt" -H "Content-Type: text/plain" -d "hello12345" http://localhost:8080/services/upload
rest("/upload")
.description("File upload service")
.consumes("text/plain")
.put().description("Upload a file")
.outType(String.class)
.param().name("filename")
@monodot
monodot / get-fuse-fabric-profiles-and-containers.sh
Last active November 12, 2019 10:55
Extract profiles and containers from Fuse Fabric
# Gets a list of all profiles and containers from a Red Hat JBoss Fuse Fabric topology
# Note this is very rough and probably doesn't work :-)
cd $FUSE_HOME
export JAVA_HOME=/c/extdot/dev/java/jdk1.8.0_92
export FUSE_PASS=mypassword
/path/to/fuse/jboss-fuse-6.3.0.redhat-329/bin/client -a 8101 -h fuse.example.com -u adminmw fabric:container-list -p $FUSE_PASS > containerlist.txt
FIELDWIDTHS=$(head -1 containerlist.txt | grep -Po '.*? (?=\S|$)' | awk -v ORS=' ' '{printf length" "}')
awk -v FIELDWIDTHS="$FIELDWIDTHS" -v OFS=',' '{ print $1,$5 }' containerlist.txt | sed 's/ //' | awk '{$1=$1;print}'
awk -v FIELDWIDTHS="$FIELDWIDTHS" -v OFS=',' '{ print $1,$5 }' containerlist.txt | awk '{$1=$1;print}' | awk -F ',' '$1!="" {print "echo CONTAINER",$1; print "bin/client -a 8101 -h fuse.example.com -u adminmw -p $FUSE_PASS fabric:profile-display",$2} $1=="" { print "bin/client -a 8101 -h fuse.example.com -u adminmw -p $FUSE_PASS fabric:profile-display",$2 }'