- Emil Persson @Humus
- Matt Pettineo @mynameismjp
(ns x.ratelimit | |
(:require | |
[taoensso.carmine :as car :refer [wcar]] | |
[ring.util.response :as response] | |
[ring.mock.request :as mock]) | |
(:import | |
[java.util Calendar])) | |
;; Util ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
LIBRARY user32 | |
EXPORTS | |
UserGetPrecisionTouchPadConfiguration @2548 | |
UserSetPrecisionTouchPadConfiguration @2549 |
;; outlet code for implementing traditional macro expansion | |
;; macros | |
(define (expand form) | |
(cond | |
((variable? form) form) | |
((literal? form) form) | |
((macro? (car form)) | |
(expand ((macro-function (car form)) form))) |
#ifndef AUGMENTED_C_GUARD | |
#define AUGMENTED_C_GUARD | |
#include <stddef.h> | |
typedef ptrdiff_t isize; | |
#define offset_of(Type, element) ((isize)&(((Type *)0)->element)) | |
#define JOIN2_IND(a, b) a##b | |
#define JOIN2(a, b) JOIN2_IND(a, b) |
#define BINKGL_LIST \ | |
/* ret, name, params */ \ | |
GLE(void, LinkProgram, GLuint program) \ | |
GLE(void, GetProgramiv, GLuint program, GLenum pname, GLint *params) \ | |
GLE(GLuint, CreateShader, GLenum type) \ | |
GLE(void, ShaderSource, GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) \ | |
GLE(void, CompileShader, GLuint shader) \ | |
GLE(void, GetShaderiv, GLuint shader, GLenum pname, GLint *params) \ | |
GLE(void, GetShaderInfoLog, GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) \ | |
GLE(void, DeleteShader, GLuint shader) \ |
Note: a lot of programmers talk about UI without mentionning the user even once, as if it was entirely a programming problem. I wonder what we’re leaving off the table when we do that.
- https://gist.github.com/vurtun/65977fcff17e413721dbd1191cda719d Vurtun’s notes about UI
- https://gist.github.com/vurtun/61b6dbf21ef060bcbbd8d1faa88350d9 Vurtun’s experiments
- https://gist.github.com/vurtun/9782db089430167453cff6785b37bb46 other notes by Vurtun
- https://gist.github.com/pervognsen/279156b894c5d04ca73df7afc12a37ee Notes about slate by Per Vognsen
- https://docs.unrealengine.com/latest/INT/Programming/Slate/
- https://docs.unrealengine.com/latest/INT/Engine/UMG/index.html
- https://soundcloud.com/podcastcode/6-dont-make-me-write-ui
Interfaces naturally emerge as software gets broken down into parts communicating with one another. The larger and more deliberate structures emerge from a deliberate attempt to organize the development process itself. [fn:Liskov2008] Structure often emerge directly from division of labor: as teams take on independent tasks, interfaces are established betweeen domains they become responsible for. (Conway’s Law)
Software developers are responsible for systems built out of very small atoms while ultimately performing tasks for their users of a much greater magnitude. Dijkstra showed this by computing the ratio between grains of time at the lowest and largest atoms of the system (from say, CPU instructions to a human interaction with the system) The span was already quite large by Dijkstra’s time, of about 10^9. Today this ratio would be at least above 10^12 (see grain ratios)
This large span has to be manage
// cl.exe xbox_test.c /link setupapi.lib user32.lib | |
#include <windows.h> | |
#include <setupapi.h> | |
#include <dbt.h> | |
#include <stdio.h> | |
/// interface | |
#define XBOX_MAX_CONTROLLERS 16 |
A quick breakdown of lighting in the restir-meets-surfel
branch of my renderer, where I revive some olde surfel experiments, and generously sprinkle ReSTIR on top.
Please note that this is all based on work-in-progress experimental software, and represents a single snapshot in development history. Things will certainly change 😛
Due to how I'm capturing this, there's frame-to-frame variability, e.g. different rays being shot, TAA shimmering slightly. Some of the images come from a dedicated visualization pass, and are anti-aliased, and some show internal buffers which are not anti-aliased.