Skip to content

Instantly share code, notes, and snippets.

View Bios-Marcel's full-sized avatar
:shipit:
I am busy abandoning projects

Marcel Schramm Bios-Marcel

:shipit:
I am busy abandoning projects
View GitHub Profile
@Bios-Marcel
Bios-Marcel / brainfuck.kt
Last active January 15, 2018 11:59
A brainfuck interpreter, takes a string without linebreaks as first argument
import kotlinx.cinterop.*
import platform.posix.*
fun main(args: Array<String>) {
if(args.size >= 1) {
if(args[0].equals("-file", true) || args[0].equals("-f", true)) {
val fileName = args[1]
val file = fopen(fileName, "r")
if (file == null) {
@Bios-Marcel
Bios-Marcel / SwingJTableDisableHTMLRendering.kt
Created April 9, 2018 08:13
Swing - Example of Creating a JTable that disables HTML rendering in labels.
import org.apache.commons.lang3.reflect.FieldUtils
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JTable
import javax.swing.table.TableCellRenderer
import java.awt.Component
class NoHtmlRenderer() : JLabel(), TableCellRenderer {
init {
putClientProperty("html.disable", true)
@Bios-Marcel
Bios-Marcel / waitmysql.bat
Created April 11, 2018 09:04
Waiting for a MySQL Server to be up via windows batch
echo Warte bis der MySQL Server hochgefahren ist...
:: Es wird solange versuche eine Verbindung zum MySQL Server aufzubauen, bis es funktioniert.
:: Der Parameter "-e" bedeutet "execute" und führt das nachfolgende Statement aus
:: Als nachfolgendes Statement nutzen wir hier ein leeres Statement, da wir keinerlei Query ausführen wollen.
:: Ist die Testabfrage nicht erfolgreich, so wird die variable %ERRORLEVEL% auf 1 gesetzt und dass nachfolgende "echo" und das "goto" werden getriggert
:offline
PATHTOMYSQL\mysql.exe --host=HOST --port=PORT -u User -pPassword -e ";" || (echo Konnte keine Verbindung aufbauen, versuche erneut & goto :offline)
@Bios-Marcel
Bios-Marcel / testdisablejmenu.kt
Created April 17, 2018 12:46
Test disabling a JMenu in Swing
package com.mcs.testdisablejmenu
import javax.swing.JFrame
import javax.swing.JMenuBar
import javax.swing.JMenu
import javax.swing.JMenuItem
fun main(args: Array<String>) {
val menuBar = JMenuBar()
val menu = JMenu("Disable me")
@Bios-Marcel
Bios-Marcel / linecountsofjavafiles.java
Created June 27, 2018 14:31
Recursively counts the lines of all java files in a directory
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
/**
@Bios-Marcel
Bios-Marcel / keybinderpoc.kt
Last active July 1, 2018 20:20
PoC for a basic KeyBinder that allows for text to be output on key press. Written using JNativehOOK and Kotlin.
package com.msc.serverbrowser
import org.jnativehook.GlobalScreen
import org.jnativehook.keyboard.NativeKeyAdapter
import org.jnativehook.keyboard.NativeKeyEvent
import java.awt.Robot
import java.awt.event.KeyEvent
import java.util.logging.Level
import java.util.logging.Logger
@Bios-Marcel
Bios-Marcel / cdb.sh
Last active July 23, 2018 06:31
function that adds the capability to go back to any directory named X using cd. Just put it into ~/.bashrc
function cdb() {
#suppress all output and run the original cd with all given arguments
command cd $@ &>/dev/null
#If the original ran successfully, do an early exit
if [ $? -eq 0 ]; then
return
fi
START_DIR="$PWD"
@Bios-Marcel
Bios-Marcel / SturdyWindow.java
Created July 30, 2018 07:39
Creating a Frame that stays in the background (Swing only)
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JPanel;
import javax.swing.JWindow;
public class SturdyWindow
{
public static void main( final String[] args )
{
fun main(arguments: Array<String>) {
Application.launch(App::class.java)
}
class App : Application() {
override fun start(primaryStage: Stage) {
primaryStage.title = "Popup Example"
primaryStage.initStyle(StageStyle.UTILITY)
primaryStage.opacity = 0.0
@Bios-Marcel
Bios-Marcel / pkginfo.go
Created October 12, 2018 15:52
Add package-info.java to all folders containing .java files
package main
import (
"flag"
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strings"
)