When working with other people on a Git repository, you’ll eventually encounter merge conflicts. This happens when two people attempt to make modifications to the repository, causing one to be pushed while the other must either replace the changes made by the first or somehow merged. The easiest way to avoid merge conflicts is to…Read More
Running Scripts inside Java with ECMAScript
Something that’s in demand for every project being developed is configurability. These days, everything needs to be changeable. Languages, layouts, themes, colors, everything. In some projects, though, simply having a config file to load key values from is not enough. Sometimes people want to add simple scripts to their system, usually for automation.In the project…Read More
Using Enums for Configurable Settings in Java
When writing Spigot plugins for clients, it was common for them to request for everything to be configurable. Usually this was just the messages sent to players, in case they wanted to tweak something to be more consistent with other messages or change the language. Usually, this led to quite a lot of code being written…Read More
Using a queue system to facilitate requests to a rate limited server
Another of the features I wanted to improve for my Bittrex project was to create a better system for sending requests to the HTTP API servers. Because of their rate limit, I couldn’t just send requests for data whenever I needed it. Ideally, I want to get market ticks every minute as that’s when they…Read More
HTTP API wrappers
Most APIs for online applications (Facebook, Twitter, Shipstation, etc) are in the form of an HTTP API. An HTTP endpoint is an online URL you can make requests to, similarly to how a browser would make requests to a normal website. The HTTP server would take requests with parameters and return relevant data. For example,…Read More
How I Collect Data In my Bittrex Core Library
The largest aspect of my previous Bittrex trading program was how the program collected market data. Market data was collected in “ticks”, or “candlestick”. Each tick was period of time that it covered, in varying lengths. For example, a tick length might be an hour. The tick for that specific hour in time would contain…Read More
Cryptocurrency Trading Library/Platform
Awhile ago, I was hired to create a crytocurrency automatic trader, using Bittrex’s API. It was the first time I’ve heavily used an HTTP API from Java. It mostly works, but unfortunately still has some issues. I’ve decided to re-write to make it more stable, especially due to the fact that Bittrex has a vague…Read More
Attaching Objects to ItemStacks with NBT Data
Sometimes you need to attach data to an ItemStack, in order to keep track of something. A project I’m working on is for an RPG themed server where they want items that act as teleportation scrolls. When interacted with, they open a GUI where players can teleport to pre-defined areas. Each individual item had a…Read More
Using Flexboxes in CSS
A joke among CSS/HTML designers is how difficult it is to simply center an item either vertically or horizontally. As simple as this sounds, there isn’t a simple “position: center” type field in CSS. In simple cases you could simply add a 25% margin to the left side of the object, which will take 25% of…Read More
Using SVG Graphics
I went to a local meetup last night, with presentations on different topics around web development. One of them was on SVG graphics, and how to manipulate them with CSS.SVG graphics aren’t images, but HTML in an <svg> tag. It’s supported by pretty much every browser. In the HTML that makes up the graphic, there…Read More