Skip to content

Instantly share code, notes, and snippets.

View esc's full-sized avatar
:octocat:
doing open source

Emergency Self-Construct esc

:octocat:
doing open source
View GitHub Profile
@esc
esc / 0001-don-t-copy-large-buffers-only-small-ones.patch
Created September 11, 2012 16:27
Benchmark for python-blosc no-copy-on-compression patch
From 2aa62ca0f9b03df90202ef8c7a739939ba6f6395 Mon Sep 17 00:00:00 2001
From: Valentin Haenel <valentin.haenel@gmx.de>
Date: Tue, 11 Sep 2012 13:40:46 +0200
Subject: [PATCH] don't copy large buffers, only small ones
---
blosc/blosc_extension.c | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/blosc/blosc_extension.c b/blosc/blosc_extension.c

Testing syntax highlight

Python:

import this
for line in open(file):
    print line

Changelog

  • v0.8.0 -
    • foo
@esc
esc / quine.py
Created November 21, 2012 12:50
Quine cheat
for line in open(__file__):
print line[:-1]
@esc
esc / test.md
Created December 5, 2012 09:39
@esc
esc / PUBLIC_API.rst
Created December 6, 2012 12:28
Bloscpack Public API Design

Bloscpack Public API Design

pack()
pack_fp()
unpack()
unpack_fp()
BloscpackFile()
@esc
esc / rst_test.rst
Last active October 13, 2015 17:57

Magic Format

magic-format

(8 byte ASCII string) The data will usually be some kind of binary serialized string data, for example JSON, BSON, YAML or Protocol-Buffers. The format identifier is to be placed in this field.

@esc
esc / bye.py
Created December 21, 2012 08:49
Good-bye World in Python
print "Good-bye World!"
@esc
esc / test.rst
Last active December 11, 2015 05:59

Using Markup

There are three main kinds of markup that should be used: italics, bold and fixed-font. Italics should be used when introducing a new technical term, bold should be used for emphasis and fixed-font for source code

Example

When using object-oriented programming in python you must use the

@esc
esc / reference.md
Created March 29, 2013 13:50 — forked from cholin/pygit2 api reference
pygit2 api reference

Basic API (low-level)

  • public libgit2 structs should be python objects (classes) - Example: git_repository => Repository()
  • nameing convention: strip git_struct_name_* - Example: git_repository_config() => Repository.config()
  • iterations should be implemented as a generator, if this is not possible we need to change libgit2 (other bindings will benefit from this as well)
  • every method should map to one libgit2 function (exceptions are iterations)
  • return values of methods
    • no lists use generators instead
    • no dictionaries use tuples or objects instead
  • no instantiation of objects use strings instead (important for generators)