Discover gists
Here be some of my notes on how to plan your CS career (specifically NUS).
First things first, I encourage you to have your own module plan (say, in a Google Sheets). You can start with the suggested module plan, but they are quite generic and might not suit your personal goals (e.g. some advanced modules you'd like to take have prerequisites that are offered in odd semesters only).
Having your own module plan will also make you easier to include other non-academic activities too.
- Take as many foundational (core) modules while you can. You never want to be left behind due to missing prerequisites.
[ | |
{ | |
"name": "Aboleth", | |
"meta": "Large aberration, lawful evil", | |
"Armor Class": "17 (Natural Armor)", | |
"Hit Points": "135 (18d10 + 36)", | |
"Speed": "10 ft., swim 40 ft. ", | |
"STR": "21", | |
"STR_mod": "(+5)", | |
"DEX": "9", |
Mixins are a way to inject code or change the minecraft source code directly and should be use with caution. If you can do a PR to Forge or use an event, try those first. If all else fails, then mixins may be a good option to look into. Here are some resources for mixins:
- Mixin Official Docs: https://github.com/SpongePowered/Mixin/wiki
- Mixin Javadocs: https://jenkins.liteloader.com/view/Other/job/Mixin/javadoc/index.html
- Mixin Cheatsheet: https://github.com/2xsaiko/mixin-cheatsheet
- MixinExtras (Adds some powerful compatiable mixin options!): https://github.com/LlamaLad7/MixinExtras
Now, I'll be honest, the official mixin doc is kind of terrible to learn from for most people. It's extremely dense and and really only helps people who already knows in-depth bytecode and stuff. But most modders aren't like that and just wants to do small stuff lol. But I'll give you the run-down here. There's a few kinds of mixins that you will encounter quite often.
#!/bin/bash | |
# | |
# Usage: | |
# ./genTwitchAccessToken.sh CLIENT_ID CLIENT_SECRET | |
curl -X POST "https://id.twitch.tv/oauth2/token?client_id=$1&client_secret=$2&grant_type=client_credentials" |
Me: | |
I am looking to build a simple GUI site that allows me to paste in some text, click "rewrite", and get rewritten, cleaned-up text back. This input text is ran through the Claude API to rewrite it. The GUI should be very simple. I just want a text box for input and a text box for output. I also two sliders on the side with labels on the ends: | |
Tone: casual on the left, formal on the right. The middle instructs the model to keep the tone/voice the same. | |
Length: shorter on the left, longer on the right. | |
Above these sliders, I want a model selector dropdown that let's me pick which Claude model to use. I also want a copy text button under the output textbox. The three Claude models are: | |
claude-3-opus-20240229. Display name "Claude 3 Opus". | |
claude-3-sonnet-20240229. Display name "Claude 3 Sonnet". | |
claude-3-haiku-20240307. Display name "Claude 3 Haiku". |
Note for me to remember how to set Android Home on Mac | |
Open Terminal and type in.. | |
nano ~/.bash_profile | |
Add the below paths | |
The path should be where your android installation is located | |
export ANDROID_HOME=/Users/username/Library/Android/sdk | |
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools | |
Save file and type in terminal... | |
source ~/.bash_profile |
#!/bin/bash | |
# This concatenates array values using a multi-character separater. | |
# https://dev.to/meleu/how-to-join-array-elements-in-a-bash-script-303a | |
joinByString() { | |
local separator="$1" | |
shift | |
local first="$1" | |
shift | |
printf "%s" "$first" "${@/#/$separator}" |