Skip to content

Instantly share code, notes, and snippets.

michelp /
Last active April 13, 2022 21:42
From nothing to REST API with PostgREST
# Minimal example of getting a PostgREST API running from scratch for
# testing purposes. It uses docker to launch a postgres database and
# a postgrest api server.
# This should not be used to deploy a production system but to
# understand how postgrest works. In particular there is no security
# implemented, see the docs for more.
mattdesl /
Last active November 9, 2022 15:13
optimizing & de-duplicating geometry in GLTF files

optimize GLTF file

This optimizes a GLTF file that was exported by blender (or similar) by de-duplicating buffer views (i.e. chunks of bytes) that are equal and removing redundant accessors.

For example, 100 cubes of different scales/materials/rotations/etc should all end up using a single BufferGeometry in ThreeJS, which isn't the case with current GLTF exporters in Blender and parsers for ThreeJS.

In scenes with a lot of instancing, it can dramatically reduce total file size as well as render performance. In one test scene:

Before: 4.8MB file size, 832 THREE.Geometry instances across 832 THREE.Mesh objects
After: 661KB file size, 13 THREE.Geometry instances across 832 THREE.Mesh objects

posener /
Last active May 30, 2023 11:53
Story: Writing Scripts with Go

Story: Writing Scripts with Go

This is a story about how I tried to use Go for scripting. In this story, I’ll discuss the need for a Go script, how we would expect it to behave and the possible implementations; During the discussion I’ll deep dive to scripts, shells, and shebangs. Finally, we’ll discuss solutions that will make Go scripts work.

Why Go is good for scripting?

While python and bash are popular scripting languages, C, C++ and Java are not used for scripts at all, and some languages are somewhere in between.


FWIW: I (@Rondy) am not the author of the content presented here, which is an outline from Edmond Lau's book. I've just copy-pasted it from somewhere and saved as a personal gist, before it got popular on I don't remember where exactly the original source is from and neither could find the author's name, so I cannot give him/her the proper credits.

Effective Engineer - Notes

bishboria /
Last active May 18, 2023 12:57
Springer made a bunch of books available for free, these were the direct links
View Pandoc in a CentOS 6 Docker

Give me back my sanity

One of the many things I do for my group at work is to take care of automating as many things as possible. It usually brings me a lot of satisfaction, mostly because I get a kick out of making people's lives easier.

But sometimes, maybe too often, I end up in drawn-out struggles with machines and programs. And sometimes, these struggles bring me to the edge of despair, so much so that I regularly consider living on a computer-less island growing vegetables for a living.

This is the story of how I had to install Pandoc in a CentOS 6 Docker container. But more generally, this is the story of how I think computing is inherently broken, how programmers (myself included) tend to think that their way is the way, how we're ultimately replicating what most of us think is wrong with society, building upon layers and layers of (best-case scenario) obscure and/or weak foundations.

*I would like to extend my gratitude to Google, StackOverflow, GitHub issues but mostly, the people who make the

marchelbling / Profiler
Last active April 11, 2017 07:23
Simple (intrusive) OSG profiler
View Profiler
#ifndef PROFILER
#define PROFILER
#include <map>
#include <string>
#include <utility>
#include <fstream>
#include <iomanip>
#include <osg/Timer>
trevnorris /
Last active April 3, 2023 02:39
Quick steps of how to create a flame graph using perf

The will setup the latest Node and install the latest perf version on your Linux box.

When you want to generate the flame graph, run the following (folder locations taken from install script):

sudo sysctl kernel.kptr_restrict=0
# May also have to do the following:
# (additional reading )
sudo sysctl kernel.perf_event_paranoid=0
arcanis /
Last active January 2, 2016 14:09
Custom git command for Pivotal / Github

Git Pivotal

git pivotal --start <branch_01234567>|<01234567>
  Creates a new branch, sets its upstream to the correct remote branch then
  sets the task state to 'started'. If the branch name is omitted, the script
  will use the name of the current branch. If the branch name only contain an
  issue ID, the script will try to make use of the _git_pivotal completion.

git pivotal --clean