Skip to content

Instantly share code, notes, and snippets.

@peterkeller
peterkeller / token-interceptor.service.ts
Created October 27, 2018 14:38 — forked from abereghici/token-interceptor.service.ts
Angular Tutorial — Implement Refresh Token with HttpInterceptor
// src/app/services/token-interceptor.service.ts
import { Injectable } from "@angular/core";
import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from "@angular/common/http";
import { AuthenticationService } from "../authentication.service";
import { Observable } from "rxjs/Observable";
import { BehaviorSubject } from "rxjs/BehaviorSubject";
@Injectable()
export class RefreshTokenInterceptor implements HttpInterceptor {
@peterkeller
peterkeller / ECLIPSE_LOGGER_TEMPLATE.md
Last active March 22, 2019 07:54
Eclipse Code Template Cheat Sheet

SLF4J Logger Import

private static final Logger LOG = LoggerFactory.getLogger(${enclosing_type}.class);
${:import(org.slf4j.Logger,org.slf4j.LoggerFactory)}

Log4J Logger Import

private static final Logger LOG = Logger.getLogger(${enclosing_type}.class);
@peterkeller
peterkeller / BASH_PROFILE.md
Last active March 22, 2019 07:55
User Bash Profile

~/.bash_profile

Prompt becomes, e.g.: [511]%

export PS1='[\!]% '

cd aliases:

@peterkeller
peterkeller / SSH_BASH_PROFILE.md
Last active March 22, 2019 07:55 — forked from khun84/README.md
Mac OS X - SSH client host autocomplete

Mac OS X SSH client autocomplete for hosts

Snippet for ~/.bash_profile, adding hostname autocomplete to ssh.

Extracts host hints from both ~/.ssh/config and /etc/hosts.

function __completeSSHHosts {
	COMPREPLY=()
	local currentWord=${COMP_WORDS[COMP_CWORD]}
@peterkeller
peterkeller / SSL_CHEAT_SHEET.md
Last active March 22, 2019 07:56
SSL Cheat Sheet

openssl

Inspect a SSL certificate:

openssl x509 -in FILE.crt -noout -text

Look at a website's certificate:

@peterkeller
peterkeller / JaxbWriter.java
Last active March 22, 2019 08:04
JAXB formatted marshalling but without indents
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.nio.charset.Charset;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.stream.XMLOutputFactory;

Import Gradle multi-module into Eclipse

Add configuration file $HOME/.gradle/init.d/eclipse.gradle:

allprojects {
    apply plugin: 'eclipse'
    if (project != rootProject) {
        eclipse.project.name = (rootProject.name + project.path).replaceAll(':', '.')
 }
@peterkeller
peterkeller / script.sh
Created June 20, 2019 17:38
Count number of code lines in git repository per user. Taken from https://gist.github.com/amitchhajer/4461043#gistcomment-1858398
git ls-files | while read f; do git blame --line-porcelain $f | grep '^author '; done | sort -f | uniq -ic | sort -n
package ch.keller.spring;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.transaction.Transactional;