Skip to content

Instantly share code, notes, and snippets.

View vadi2's full-sized avatar

Vadim Peretokin vadi2

View GitHub Profile
@vadi2
vadi2 / Lua 5.1 to 5.4 breaking changes.md
Created March 1, 2025 08:20
Lua 5.1 to 5.4 breaking changes

I'll research the breaking changes introduced in Lua versions 5.2, 5.3, and 5.4 that may cause scripts written in Lua 5.1 to break. This will include changes in language syntax, libraries, and runtime behavior. I'll provide a structured breakdown of these changes so you can better understand their impact on your scripts.

I'll update you once I have the findings.

Lua 5.2 – Breaking Changes (from Lua 5.1)

Syntax and Language Changes

  • New Reserved Keyword (goto): Lua 5.2 introduces a goto statement, making "goto" a reserved word (Lua 5.2 readme). Any Lua 5.1 code using goto as an identifier will fail to compile in 5.2. The fix is to rename such variables or avoid using "goto" as a name. Lua 5.2 also added labels (::label::) for goto, but this is new functionality and doesn’t affect 5.1 compatibility except for the keyword reservation.
  • Identifier Character Restrictions: In Lua 5.1, identifier names
@vadi2
vadi2 / file.md
Created February 28, 2025 12:52
Mudlet Deep Research

Mudlet is an advanced, open-source MUD (Multi-User Dungeon) client designed for real-time, text-based multiplayer games. I will conduct a detailed research on Mudlet, covering its features, installation process, scripting capabilities, compatibility, community support, and any other relevant details. I will let you know once the research is ready.

Mudlet: Advanced MUD Client Guide

Overview

Mudlet is a cross-platform, open-source client for MUDs (Multi-User Dungeons) – text-based multiplayer games. It is designed to enhance the gameplay experience by providing an intuitive user interface, a powerful scripting system, and extremely fast text processing (About – Mudlet). Mudlet runs on Windows, macOS, and Linux (even on Chromebooks or Raspberry Pi) and aims to be easy to use for both newcomers and power users ([Mudlet – A cross-platform, open source, and super fast MUD client with scripting

@vadi2
vadi2 / gist:0d5338fa2beef65659eae02d134c66ce
Created February 28, 2025 12:52
Mudlet Deep Research
Mudlet is an advanced, open-source MUD (Multi-User Dungeon) client designed for real-time, text-based multiplayer games. I will conduct a detailed research on Mudlet, covering its features, installation process, scripting capabilities, compatibility, community support, and any other relevant details. I will let you know once the research is ready.
# Mudlet: Advanced MUD Client Guide
## Overview
**Mudlet** is a cross-platform, open-source client for MUDs (Multi-User Dungeons) – text-based multiplayer games. It is designed to enhance the gameplay experience by providing an intuitive user interface, a powerful scripting system, and extremely fast text processing ([About – Mudlet](https://www.mudlet.org/about/#download#:~:text=Mudlet%20is%20a%20quality%20MUD,mudding%20to%20a%20new%20level)). Mudlet runs on Windows, macOS, and Linux (even on Chromebooks or Raspberry Pi) and aims to be easy to use for both newcomers and power users ([Mudlet – A cross-platform, open source, and super fast MUD client with scripting
@vadi2
vadi2 / gist:6fcc05500823122143a5d45c43915ff0
Last active July 7, 2024 16:18
GMCP Authenticate sample password flow
sequenceDiagram
participant Client
participant Server
Client->>Server: Core.Supports.Set ["Char.Login 1", ...]
Server->>Client: Char.Login.Default {"type": ["password-credentials"]}
Client->>Server: Char.Login.Credentials {"account": "username", "password": "password"}
Server->>Client: Char.Login.Result {"success": true}
alt Error
Server->>Client: Char.Login.Result {"success": false, "message": "Invalid credentials"}
end
@vadi2
vadi2 / benchmark.sh
Last active April 14, 2023 18:26
Benchmarking compilation times v0.3
#!/bin/bash
set -e
if [ "$#" -ne 3 ]; then
echo "Usage: $0 <start_commit> <end_commit> <project_dir>"
exit 1
fi
start_commit="$1"

4 core machine with svof loaded:

| relative |               ns/op |                op/s |    err% |     total | Implementations
|---------:|--------------------:|--------------------:|--------:|----------:|:----------------
|   100.0% |          180,631.04 |            5,536.15 |    2.2% |      4.58 | `plain for loop`
|    96.9% |          186,443.52 |            5,363.55 |    3.5% |      4.55 | `std::copy_if`
|   110.4% |          163,570.31 |            6,113.58 |    1.4% |      4.00 | `tbb::parallel_for_each, no acc.`
|   108.3% |          166,760.68 |            5,996.62 |    2.6% |      4.13 | `tbb::parallel_for, automatic grain`
|   107.8% |          167,554.00 |            5,968.22 |    2.2% |      4.08 | `tbb::parallel_for, 10 grainsize`
@vadi2
vadi2 / purge-luaossl.sh
Created October 12, 2019 09:34
Purge luaossl Luarocks install
# In case your luaossl rock installation in LuaRocks gets corrupted and you can't remove it due to missing files, do the following:
sudo mkdir -p /usr/local/share/lua/5.1/openssl/x509
sudo mkdir -p /usr/local/share/lua/5.1/openssl/ocsp
sudo mkdir -p /usr/local/share/lua/5.1/openssl/ssl
sudo mkdir -p /usr/local/lib/lua/5.1
sudo touch /usr/local/share/lua/5.1/openssl/x509.lua
sudo touch /usr/local/share/lua/5.1/openssl/pkcs12.lua
sudo touch /usr/local/share/lua/5.1/openssl/pubkey.lua
sudo touch /usr/local/share/lua/5.1/openssl/des.lua
{
[":)"] = "☺️",
[":("] = "🙁",
[":c"] = "☹️",
[":O"] = "😮",
[":*"] = "😗",
[";D"] = "😉",
[";)"] = "😉",
[":P"] = "😛",
[":/"] = "😕",
@vadi2
vadi2 / keybase.md
Last active October 10, 2017 02:12

Keybase proof

I hereby claim:

  • I am vadi2 on github.
  • I am vadimp (https://keybase.io/vadimp) on keybase.
  • I have a public key ASD0RPbn-JorK9Kf7ptXl4E54kAJLt-V7AkLMpDqYZwHXQo

To claim this, I am signing this object:

@vadi2
vadi2 / gist:28c0a469aa3022a99f872f8765e85221
Last active January 9, 2022 16:07
How to make a oneliner install for a Mudlet package