Skip to content

Instantly share code, notes, and snippets.

Nicolas uucidl

Block or report user

Report or block uucidl

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View STL-WTF.org

Results

All tested on OSX Yosemite with Apple LLVM version 7.0.0 (clang-700.0.72)

Debug Mode

Debug mode is important. It’s the performance you get when you’re developing and debugging after all.

/usr/bin/clang++ [/usr/bin/clang++, -std=c++14, -g, -isystem, /Users/nicolas/code/third-party/SGI-STL/modules/EASTL/include, /Users/nicolas/code/third-party/SGI-STL/tests/test_vector.cpp, -o, /Users/nicolas/code/third-party/SGI-STL/test_vector]
@uucidl
uucidl / dfw-on-producing-litterature.org
Last active Dec 5, 2015
David Foster Wallace: On Producing Litterature
View dfw-on-producing-litterature.org

https://youtu.be/mfjjSj9coA0?t=969

When you’re teaching undergrads, they’re not generating litterature. Most of them are coming from a highschool experience where they’re taught a model of writing that is fundamentally expressive.

That is, we want you to write therefore anything you do is good. This is good because you did it.

@uucidl
uucidl / dfw-on-the-freedom-to-be-crummy.org
Last active Dec 5, 2015
David Foster Wallace on the freedom to be crummy (his editing routine)
View dfw-on-the-freedom-to-be-crummy.org

The Freedom To Be Crummy

https://youtu.be/mfjjSj9coA0?t=2582 43:00

So I write the first draft long hand, The second draft I rewrite long-hand on a clipboard, then I type it once, then I retype it then it sits for at least a week or two and I redo it, I type it again. And not “computer” re-typing, but starting all the way at the beginning as a hard copy. Why you ask? Good question.

@uucidl
uucidl / skeleton.cpp
Created Dec 24, 2015
skeleton in the closet
View skeleton.cpp
/*
OSX: "clang++ -DOS_OSX -g -std=c++11 -nostdinc++ -nostdlib -framework System
-Wall -Wextra skeleton.cpp -o skeleton"
*/
// Meta
#define DOC(...) // to document a symbol
#define URL(...) // reference to a resource
// Compiler
#define CLANG_ATTRIBUTE(x) __attribute__((x))
#define debugger_break() DOC("invoke debugger") asm("int3")
@uucidl
uucidl / cocoa.mm
Created Jan 31, 2016
Minimal Cocoa App
View cocoa.mm
#define BUILD(__os,...)
#define DOC(...)
#define TAG(...)
BUILD(osx,"clang++ -std=c++11 cocoa.mm -o cocoa -framework AppKit")
#import "AppKit/AppKit.h"
int main(int argc, char **argv)
{
[NSApplication sharedApplication];
[NSApp setActivationPolicy: NSApplicationActivationPolicyRegular];
auto const app_name = [[NSProcessInfo processInfo] processName];
View 00-notes-about-APIs.org

On the emergence of interfaces

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

@uucidl
uucidl / fastbuild-generator.patch
Last active Jul 18, 2016
(WIP) FASTbuild generator for gyp
View fastbuild-generator.patch
From 2c2a5e747a601ec655e5a94d935cca09599580d1 Mon Sep 17 00:00:00 2001
From: nil <nil@ableton.com>
Date: Mon, 9 May 2016 12:51:23 +0200
Subject: [PATCH 01/19] Import fastbuild generator
---
pylib/gyp/generator/fastbuild.py | 1095 ++++++++++++++++++++++++++++++++++++++
1 file changed, 1095 insertions(+)
create mode 100644 pylib/gyp/generator/fastbuild.py
@uucidl
uucidl / insane.py
Created Mar 15, 2016
Something insane I did not know about python
View insane.py
H:\temp>python
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'hello'
>>> print a
hello
>>> words = [a for a in ['one', 'two', 'three']]
>>> print words
['one', 'two', 'three']
>>> print a
@uucidl
uucidl / 000-eop
Last active Apr 16, 2016
Elements Of Programming (Stepanov, Mc Jones) In Rust
View 000-eop
Elements Of Programming (A.Stepanov, P.McJones) implemented in Rust
Generic programming Rust using traits and generic functions
@uucidl
uucidl / authorship.org
Created Apr 17, 2016
Some notes about art and creation
View authorship.org

Some notes about art and creation.

  1. It is helpful to distinguish between the author-creator, the author-public-figure and the author-critic.
  2. One commonly made mistake is to consider the author-creator knows what kind of statement their creations make.
  3. There isn’t one and only one value to a creation.
  4. It is fallacious to factor out the technological and social context of a creation, both for the author and the spectator.
  5. It is interesting to find out who makes and enforces the rules that make an author’s recognition possible.
  6. A creation is a window into human nature.
  7. One helpful axis to analyze discipline is how abstracted they are from the pure gesture of creation.
  8. One purpose of craft is to impose on us the illusion that the artificial is real.
You can’t perform that action at this time.