Skip to content

Instantly share code, notes, and snippets.

# https://matklad.github.io/2020/04/13/simple-but-powerful-pratt-parsing.html
# it's amazing that rust version is actually shorter, wow
from collections import namedtuple
from enum import Enum
from io import StringIO
class PrattErr(RuntimeError):
def __init__(self, msg):
super().__init__(self, msg)
=================================================================
==6756==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x11b647ca0820 in thread T0:
object passed to delete has wrong type:
size of the allocated type: 24 bytes;
size of the deallocated type: 8 bytes.
#0 0x7ff6990d82aa in operator delete(void *, unsigned __int64) D:\agent\_work\13\s\src\vctools\crt\asan\llvm\compiler-rt\lib\asan\asan_new_delete.cpp:172
#1 0x7ff6990dd4a0 in ply::OutPipe::`scalar deleting dtor'(unsigned int) C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xthreads.h:129
#2 0x7ff6990d9404 in ply::OutStream::destructInternal(void) C:\Dev\plywood\repos\plywood\src\runtime\ply-runtime\io\OutStream.cpp:50
#3 0x7ff6990914dd in ply::OutStream::~OutStream(void) C:\Dev\plywood\repos\plywood\src\runtime\ply-runtime\io\OutStream.h:118
#4 0x7ff6990912da in main C:\Dev\plywood\repos\plylox\PipeLeak\Main.cpp:8
@jagt
jagt / export_camera_standalone.py
Last active March 22, 2023 07:27
Standalone script for exporting camera animation w/ custom attributes.
'''
export camera standalone
1. put in `C:/Users/<user>/Documents/maya/scripts`
2. open maya and select the camera in outliner
3. menu 'custom->Export Selected Camera'
'''
from maya import cmds
from maya import mel
def make_kwargs(overrides, **kwargs):
@jagt
jagt / ipython_maya_2018.md
Created June 19, 2018 08:55
Setting up IPython for Maya 2018
  1. Put mayapy on Path
  2. Open a cmd as admin
  3. run mayapy -m ensurepip --default-pip
  4. run mayapy -m pip install --upgrade pip
  5. run mayapy -m pip install ipython==5.7.0
  6. delete C:\Program Files\Autodesk\Maya2018\Python\Lib\site-packages\_scandir.pyd. it's build against original python release version.
  7. test mayapy -c "from IPython import embed; embed()"
@jagt
jagt / union.cs
Created June 6, 2018 04:16
C# Union
using System;
using System.Runtime.InteropServices;
// turns out primitive C# union is already doable
// http://www.xtremedotnettalk.com/tutors-corner/97390-unions.html
[StructLayout(LayoutKind.Explicit)]
public struct MyUnion
{
[FieldOffset(0)]
@jagt
jagt / twod_array.linq
Last active January 4, 2019 13:04
c# 2d array example
void Swap(ref float lhs, ref float rhs)
{
float tmp = lhs;
lhs = rhs;
rhs = tmp;
}
void InplaceFlipX(float[,] arr)
{

Core Coding Standard

Coding practices are a source of a lot of arguments among programmers. Coding standards, to some degree, help us to put certain questions to bed and resolve stylistic debates. No coding standard makes everyone happy. (And even their existence is sure to make some unhappy.) What follows are the standards we put together on the Core team, which have become the general coding standard for all programming teams on new code development. We’ve tried to balance the need for creating a common, recognizable and readable code base with not unduly burdening the programmer with minor code formatting concerns.

Table Of Contents

@jagt
jagt / InstaLODEditorUtils.cs
Created February 1, 2018 13:28
InstaLOD binding example
using System;
using System.IO;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using InstaLOD;
using System.Runtime.InteropServices;
public static class InstaLODEditorUtils
{
@jagt
jagt / publicize.cs
Last active January 30, 2018 07:41
publicize.cs
using Mono.Cecil;
using System;
using System.Linq;
using System.Collections.Generic;
// inplace publicize all methods/types in a dll
// need Mono.Cecil in nuget
class Program
{
solution 'embed-civet'
location './build'
configurations {'Debug', 'Release'}
platforms {'x32', 'x64'}
startproject 'main'
includedirs {
'civetweb/include',
}
defines {'USE_WEBSOCKET'}