Skip to content

Instantly share code, notes, and snippets.

View lightningspirit's full-sized avatar
🏠
Working from home

Vitor Carvalho lightningspirit

🏠
Working from home
View GitHub Profile
@lightningspirit
lightningspirit / pocketbase-js-sdk.types.d.ts
Created June 30, 2024 11:52
Testing PocketBase typing system in JS SDK
import PocketBase, {
BaseAuthStore,
ListResult,
LogService,
RecordFullListOptions,
RecordListOptions,
RecordModel,
RecordOptions,
RecordService,
} from 'pocketbase'
@lightningspirit
lightningspirit / client.ts
Created June 25, 2024 10:33
Pocketbase typings for collections
import PocketBaseClient from './pocketbase.ts'
type RecordMap = {
accounts: RecordAccount
categories: RecordCategory
pages: RecordPage
prices: RecordPrice
products: RecordProduct
users: RecordUser
}
@lightningspirit
lightningspirit / date.ml
Created May 8, 2024 21:26
[WIP] OCaml Date implementation
open Unix
type date = {
year : int;
month : int;
day : int;
}
exception InvalidDate of string
@lightningspirit
lightningspirit / README.md
Created April 10, 2024 17:32
React Immutable Data Structures Hooks

React Immutable Data Structures Hooks

Popular data structures implemented in immutable React hooks.

Hooks:

  • useArray
  • useHeap
  • useList
  • useQueue
  • useStack
@lightningspirit
lightningspirit / README.md
Last active March 25, 2024 16:24
Docker Client Plugin to SSH Remote Docker Hosts

Docker Client Plugin to SSH Remote Docker Hosts

Configuration for each project using a simple YAML file. The docker remote command reads the relative local file docker-remote.yml to access docker hosts. Uses SSH under the hood.

Examples of usage

Showing remote running containers

Implicit user parameter

docker remote remote-hostname ps

function useFileUpload() {
const [total, setTotal] = useState(0)
const [file, setFile] = useState<File>()
const [paused, setPaused] = useState(false)
const [uploaded, setUploaded] = useState(0)
const pause = () => setPaused(true)
const resume = () => setPaused(false)
function upload(file: File) {
@lightningspirit
lightningspirit / create-i18n-context.ts
Last active February 6, 2024 17:07
React I18n only server side
import 'server-only'
import serverOnlyContext from './server-only-context'
export type Locale = string
export const I18nContext = serverOnlyContext<Locale>('en')
@lightningspirit
lightningspirit / vscode-sr-snippets.md
Created December 18, 2023 19:32
Visual Studio Code - Search - Replace snippets

VSCode Search & Replace Snippets

A collection of snippets to perform tasks to convert code syntax in some languages.

TypeScript

Convert NextJS dynamic import into full import

Example

const EmailIcon = dynamic(() =&gt; import("images/icons/buttons/email-button.svg"))
@lightningspirit
lightningspirit / object-cache.php
Created December 9, 2023 15:18
WordPress APCu Object Cache
<?php
/*
Plugin Name: WordPress APCu Object Cache Backend
Plugin URI: https://github.com/l3rady/WordPress-APCu-Object-Cache
Description: APCu backend for WordPress' Object Cache
Version: 1.1
Author: Scott Cariss
Author URI: http://scott.cariss.dev
*/
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel Core Processor (Broadwell, no TSX, IBRS)
stepping : 2
microcode : 0x1
cpu MHz : 2394.454
cache size : 16384 KB