Skip to content

Instantly share code, notes, and snippets.

@Justin42
Justin42 / emmc-backup.sh
Created January 17, 2022 21:10
Backup some eMMC devices. Default device set matches NanoPC T-4 running Armbian Bullseye from SD Card. Uses dd, gzip.
#!/bin/bash
backtitle="Armbian EMMC backup script, http://www.armbian.com | Author: nopnop2002, Justin42"
title="Backup from EMMC to Image File"
logfile="/tmp/dd.log"
imgdir="/var/images"
sleeptime=1
debugout="/tmp/debug.log"
emmc_devices=("mmcblk2boot0" "mmcblk2boot1" "mmcblk2")
function DebugEcho() {
@Justin42
Justin42 / python-env-setup.ps1
Created January 17, 2022 21:06
Use winget to install a Python development environment. Includes Git + GitLFS, and PyCharm Community.
(
"Python.Python.3",
"Git.Git",
"GitHub.GitLFS",
"JetBrains.Toolbox",
"JetBrains.PyCharm.Community"
) | foreach {winget install -e --id $_ -s winget --scope machine}
pause
@Justin42
Justin42 / Date2.java
Created September 5, 2012 20:36 — forked from crzye8s/Date2.java
// Lab 01 - Ex 03.15 - Date2
// CIS 282
// Jonathan Lee
public class Date2
{
private int year;
private int month;
private int day;
public void login(final String username, final String password,final LoginListener loginListener) {
// Logins performed synchronously in its own thread.
Runnable login = new Runnable() {
public void run() {
if(networkHandler.connectTCP()) {
IoSession session = networkHandler.getSession();
ClientData clientData = networkHandler.getClientData();
// Block this thread while waiting for reply
session.getConfig().setUseReadOperation(true);
public boolean connectTCP() {
ConnectFuture future = connector.connect(new InetSocketAddress(serverHost, serverPort));
future.awaitUninterruptibly();
if(future.isConnected()) {
session = future.getSession();
return true;
}
else {
return false;
}
Justin:
- ==: org.bukkit.inventory.ItemStack
type: FIRE
amount: 5
- ==: org.bukkit.inventory.ItemStack
type: FIRE
amount: 5
- ==: org.bukkit.inventory.ItemStack
type: FIRE
amount: 5
for(ItemStack itemStack : itemStash.collect(player)) {
player.sendMessage("Giving " + itemStack.getAmount());
remainingItems.addAll(player.getInventory().addItem(itemStack).values());
}
public ArrayList<ItemStack> collect(Player player) {
ArrayList<ItemStack> stackList = new ArrayList<ItemStack>();
if(hasItems(player)) {
try {
stackList = (ArrayList<ItemStack>) config.get(player.getName());
config.set(player.getName(), null);
save();
}
catch (ClassCastException ex) {
corruptionWarning(player);
08:50:02 [SEVERE] Could not pass event AuctionEvent to Salesmania
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460)
at net.invisioncraft.plugins.salesmania.Auction.start(Auction.java:160)
at net.invisioncraft.plugins.salesmania.commands.auction.AuctionStart.execute(AuctionStart.java:108)
at net.invisioncraft.plugins.salesmania.commands.auction.AuctionCommandExecutor.onCommand(AuctionComma
ndExecutor.java:89)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
@Justin42
Justin42 / gist:2845302
Created May 31, 2012 18:34
Auction.infoReplace
public List<String> infoReplace(List<String> infoList) {
List<String> newInfoList = new ArrayList<String>();
Iterator<String> infoIterator = infoList.iterator();
while(infoIterator.hasNext()) {
String info = infoIterator.next();
if(info == "%enchantinfo%" && itemStack.getEnchantments().isEmpty()) {
continue;
}
info = info.replace("%owner%", owner.getName());