Skip to content

Instantly share code, notes, and snippets.

View tooolbox's full-sized avatar

Matt Mc tooolbox

  • Non-Profit
  • Los Angeles, California
View GitHub Profile
@tooolbox
tooolbox / compat52.lua
Created June 2, 2022 22:55
Modified version of compat52 to work in Algernon
-- utility module to make the Lua 5.1 standard libraries behave more like Lua 5.2
if _VERSION == "Lua 5.1" then
local _type, _select, _unpack, _error = type, select, unpack, error
bit32 = require("bit32")
-- detect LuaJIT (including LUAJIT_ENABLE_LUA52COMPAT compilation flag)
local is_luajit = false and (string.dump(function() end) or ""):sub(1, 3) == "\027LJ" -- string.dump in Algernon dies, so don't call it
local is_luajit52 = is_luajit and
@tooolbox
tooolbox / tl.lua
Created June 2, 2022 22:50
Modified version of Teal that runs in Algernon
local _tl_compat; if (tonumber((_VERSION or ''):match('[%d.]*$')) or 0) < 5.3 then local p, m = pcall(require, 'compat53.module'); if p then _tl_compat = m end end; local assert = _tl_compat and _tl_compat.assert or assert; local io = _tl_compat and _tl_compat.io or io; local ipairs = _tl_compat and _tl_compat.ipairs or ipairs; local load = _tl_compat and _tl_compat.load or load; local math = _tl_compat and _tl_compat.math or math; local os = _tl_compat and _tl_compat.os or os; local package = _tl_compat and _tl_compat.package or package; local pairs = _tl_compat and _tl_compat.pairs or pairs; local string = _tl_compat and _tl_compat.string or string; local table = _tl_compat and _tl_compat.table or table; local _tl_table_unpack = unpack or table.unpack
local VERSION = "0.13.1+dev"
local tl = {TypeCheckOptions = {}, Env = {}, Symbol = {}, Result = {}, Error = {}, TypeInfo = {}, TypeReport = {}, TypeReportEnv = {}, }
@tooolbox
tooolbox / fullstackgo.md
Created May 14, 2022 17:49
List of full-stack web framework solutions in Go

FullStackGo

  • Bud (SSR Svelte with v8go)
  • Pagoda (Echo, Ent, HTMX, Alpine.js, Bulma, Postgres, Redis)
  • Fragmenta (CMS system)
  • Goplaid (Go-based HTML gen, VueJS)
@tooolbox
tooolbox / zpl-quick-reference.md
Created April 21, 2021 00:07 — forked from metafloor/zpl-quick-reference.md
ZPL Quick Reference

ZPL Commands

Command Format Description
^A ^Afo,h,w,d:f.x Use Scalable/Bitmapped Font
^A@ ^A@o,h,w,d:f.x Use Font Name to Call Font
^B0 ^B0a,b,c,d,e,f,g Aztec Bar Code Parameters
^B1 ^B1o,e,h,f,g Code 11 Bar Code
^B2 ^B2o,h,f,g,e,j Interleaved 2 of 5 Bar Code
^B3 ^B3o,e,h,f,g Code 39 Bar Code
@tooolbox
tooolbox / teal-linter.py
Last active June 23, 2021 00:43
Teal plugin for SublimeLinter
from SublimeLinter.lint import Linter, LintMatch
import re
class TealLinter(Linter):
cmd = 'tl check ${file} ${args}'
defaults = {
'selector': 'source.lua, source.teal'
}
@tooolbox
tooolbox / Teal.tmLanguage
Last active June 15, 2021 16:37
Teal Syntax for Sublime Text (converted from https://github.com/teal-language/vscode-teal)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Teal</string>
<key>fileTypes</key>
<array>
<string>tl</string>
</array>

Some thoughts on a server.

Database access

Use Jet to generate a typesafe DSL for your database and compile it ahead of time, then write Yaegi-interpreted scripts that use this DSL. Gives you editor support (code completion, linting) with fast iteration and theoretically high performance since most of the work is done in compiled Go.

Templating

@tooolbox
tooolbox / awesome-frontend.md
Created October 3, 2020 04:06
Awesome Frontend
@tooolbox
tooolbox / awesome-go.md
Last active December 1, 2021 15:14
Awesome Go Packages