Replay2024 conference held in Seattle on September 19th and 20th, 2024.
GitHub allows automated builds using GitHub Actions. A commonly asked question is how to release artifacts (packaged Java jars) built by Maven and Gradle to The Central Repository. The GitHub Actions documentation provides only part of the answer.
So, first, configure your Maven project for staging artifacts to The Central Repository, by reading through Configuring Your Project for Deployment and following those steps. Please make sure that the maven-gpg-plugin is configured to prevent gpg
from using PIN entry programs, as follows:
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
loopback
<?xml version="1.0" encoding="UTF-8"?> | |
<migrationMap> | |
<name value="1.13.2 to 1.14" /> | |
<description value="1.13.2 to 1.14 MCP changes" /> | |
<entry oldName="net.minecraft.GameVersion" newName="net.minecraft.util.MinecraftVersion" type="class" /> | |
<entry oldName="net.minecraft.advancements.AdvancementList.Listener" newName="net.minecraft.advancements.AdvancementList.IListener" type="class" /> | |
<entry oldName="net.minecraft.advancements.RequirementsStrategy" newName="net.minecraft.advancements.IRequirementsStrategy" type="class" /> | |
<entry oldName="net.minecraft.advancements.criterion.AbstractCriterionInstance" newName="net.minecraft.advancements.criterion.CriterionInstance" type="class" /> | |
<entry oldName="net.minecraft.block.Block.EnumOffsetType" newName="net.minecraft.block.Block.OffsetType" type="class" /> | |
<entry oldName="net.minecraft.block.BlockAbstractBanner" newName="net.minecraft.block.AbstractBannerBlock" type="class" /> |
All Tests were performed with 20 warmup iterations of 10000 cycles and 40 benchmarking iterations of 50000 cycles. Times are all in milliseconds.
These arguments were choosen such that the GC pauses would be long, but infrequent.
VM arguments: -verbose:gc -Xbatch -XX:CICompilerCount=1 -XX:-TieredCompilation -Xmx10G -Xms10G -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:InitiatingHeapOccupancyPercent=80
Guava:
In this article, I will share some of my experience on installing NVIDIA driver and CUDA on Linux OS. Here I mainly use Ubuntu as example. Comments for CentOS/Fedora are also provided as much as I can.
package com.thevoxelbox.stats; | |
import com.thevoxelbox.stats.StatsGatherer.Schematic; | |
import org.jnbt.ByteArrayTag; | |
import org.jnbt.CompoundTag; | |
import org.jnbt.NBTInputStream; | |
import org.jnbt.ShortTag; | |
import org.jnbt.Tag; | |
import java.io.File; |
Tracks down when a Minecraft account was created.
Mojang has an API endpoint for usernames:
https://api.mojang.com/users/profiles/minecraft/<name>?at=<timestamp>
It can be used to find the UUID of an account, by username it used at the given time.
It returns either 200 OK
or 204 No Content
– indicating that the username was not in use at the time.
package filter; | |
import java.util.Collection; | |
import filter.CauseFilters.All; | |
import filter.CauseFilters.First; | |
import filter.DataFilters.HasDouble; | |
import filter.DataFilters.HasInt; | |
import filter.SubtypeFilters.Exclude; |
package com.thevoxelbox.biome; | |
import org.spongepowered.api.Game; | |
import org.spongepowered.api.data.DataContainer; | |
import org.spongepowered.api.data.MemoryDataContainer; | |
import org.spongepowered.api.event.Listener; | |
import org.spongepowered.api.event.game.state.GameInitializationEvent; | |
import org.spongepowered.api.event.game.state.GamePostInitializationEvent; | |
import org.spongepowered.api.event.world.LoadWorldEvent; | |
import org.spongepowered.api.plugin.Plugin; |