Skip to content

Instantly share code, notes, and snippets.

View ajhalili2006's full-sized avatar
🏫
Currently in school + hauling over autistic burnout

Andrei Jiroh Halili ajhalili2006

🏫
Currently in school + hauling over autistic burnout
View GitHub Profile

During the past days, this great article by Sam Pruden has been making the rounds around the gamedev community. While the article provides an in-depth analysis, its a bit easy to miss the point and exert the wrong conclusions from it. As such, and in many cases, users unfamiliar with Godot internals have used it points such as following:

  • Godot C# support is inefficient
  • Godot API and binding system is designed around GDScript
  • Godot is not production ready

In this brief article, I will shed a bit more light about how the Godot binding system works and some detail on the Godot

declare global {
const console: {
log(...data: any[]): void;
error(...data: any[]): void;
debug(...data: any[]): void;
info(...data: any[]): void;
warn(...data: any[]): void;
email(log: any, subject?: string | number): void;
};
@alexellis
alexellis / GUIDE.md
Last active July 31, 2023 10:51
Equinix Metal is my computer

From my blog post: The Internet is my computer

Equinix Metal is my computer

Run hosted VSCode on Equinix Metal's huge: AMD Epyc instances with 64GB RAM and 24 Cores, coupled with a bonded 2 x 10 Gbps uplink to the Internet.

Hosted VSCode

  • Provision your Ubuntu 20.04 LTS server using the dashboard and add your SSH key
  • Once you have the public IP, log in over SSH
@nurupo
nurupo / irc_network_migration_guide.md
Last active October 14, 2023 16:16
How to close a channel on Freenode when migrating to Libera

How to close a channel on Freenode when migrating to Libera

Run /msg NickServ LISTCHANS to see what permissions you have in what channels.

For each channel you have +s, +R and either +o or +O or +t permissions in, run:

/msg ChanServ OP #channel
/msg ChanServ SET #channel TOPICLOCK OFF
/msg ChanServ TOPIC #channel We have moved to irc.libera.chat

It appears that rasengan (Andrew Lee) of Private Internet Access believes that ownership of the company Freenode Ltd. gives him the right to unilaterally replace the current staff team.

We may have had our disagreements with staff, but freenode being run by a volunteer team, using servers provided by sponsors, is a key reason that we appreciate freenode.

As such, we do not believe that such a unilateral replacement by a corporate interest is appropriate.

If this attemped takeover by Andrew Lee continues, we will be advocating to move our communities elsewhere.

Context: Fuchs' leaked (not by him) draft resignation letter that caused Andrew Lee to come onto #freenode: https://fuchsnet.ch/privat/fn-resign-letter.txt

@ajhalili2006
ajhalili2006 / guildedguy-discord-emotes.json
Created April 4, 2021 13:08
JSON file containing PNG and GIF files for custom emojis from Gildedguy's Discord server
[
"https://cdn.discordapp.com/emojis/777592308605386782.png?v=1",
"https://cdn.discordapp.com/emojis/233832831652986880.png?v=1",
"https://cdn.discordapp.com/emojis/792649412324622356.png?v=1",
"https://cdn.discordapp.com/emojis/237080616917532672.png?v=1",
"https://cdn.discordapp.com/emojis/560699081664626718.png?v=1",
"https://cdn.discordapp.com/emojis/792649418641506306.png?v=1",
"https://cdn.discordapp.com/emojis/668998774525394951.png?v=1",
"https://cdn.discordapp.com/emojis/587127986478907392.png?v=1",
"https://cdn.discordapp.com/emojis/777590482900353064.png?v=1",
@ajhalili2006
ajhalili2006 / get_actions_secrets.py
Last active September 27, 2021 05:53
Get an specific Actions secret and send it as an Telegram message from an bot.
# Step 1: Configure our argument parser.
import argparse
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
description='Simple Python script to get your hidden CI tokens to an private Telegram chat.'
)
# Step 2: Add arguments needed
parser.add_argument("--bot-token", help="Telegram Bot API token, generated with BotFather.", required=True, default="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11")
parser.add_argument("--client-id", help="Telegram API client ID, generated from https://my.telegram.org/apps", type=int, required=True, default=87528)
#!/bin/bash
#
# This is a script to update a Netlify subdomain A record with the current external IP.
# The example below would update the local.example.com A record to the current external IP with a TTL of 5 minutes.
# Copied from https://blog.skylerlewis.io/2020/12/diy-dynamic-dns-using-netlify-api.html
#
# Usage:
# netlify-ddns.sh <ACCESS_TOKEN> <DOMAIN> <SUBDOMAIN> <TTL>
#
# Example:
@hashworks
hashworks / kutt.sh
Created November 6, 2020 17:25
BASH function for kutt.it URL shortener services
KUTT_HOST="https://kutt.it"
KUTT_API_KEY="API_KEY"
kutt() {
if [[ "$1" == "delete" ]] && [[ -n "$2" ]]; then
curl -s -H "X-API-KEY: $KUTT_API_KEY" \
-X DELETE \
"$KUTT_HOST/api/v2/links/$2" | jq
elif [[ -z "$1" ]]; then
curl -s -H "X-API-KEY: $KUTT_API_KEY" \
"$KUTT_HOST/api/v2/links" | jq
//
// Author: Jonathan Blow
// Version: 1
// Date: 31 August, 2018
//
// This code is released under the MIT license, which you can find at
//
// https://opensource.org/licenses/MIT
//
//