Orthodox C++ (sometimes referred as C+) is minimal subset of C++ that improves C, but avoids all unnecessary things from so called Modern C++. It's exactly opposite of what Modern C++ suppose to be.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HTTP transfer protocols | |
======================= | |
Git supports two HTTP based transfer protocols. A "dumb" protocol | |
which requires only a standard HTTP server on the server end of the | |
connection, and a "smart" protocol which requires a Git aware CGI | |
(or server module). This document describes both protocols. | |
As a design feature smart clients can automatically upgrade "dumb" | |
protocol URLs to smart URLs. This permits all users to have the |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Unit CountLoadedRefs; | |
Var | |
giTemporaryCount: Integer; | |
giPersistentCount: Integer; | |
giPluginTemporaryCount: Integer; | |
giPluginPersistentCount: Integer; | |
Const | |
gtPersistent = 8; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
----------------------------------------------------------------------------------------- | |
ID Full Name Short Name Description | |
----------------------------------------------------------------------------------------- | |
256: Show TST Show global scripts and variables. | |
257: ShowVars SV Show variables on object. You can optionally specified a papyrus variable or script to filter with [player->sv] | |
258: ShowGlobalVars SGLV Show all global variables. | |
259: ShowQuestVars SQV Show quest variables. You can optionally specified a papyrus variable or script to filter with [svq QuestID] | |
260: ShowQuests SQ List quests. | |
261: ShowQuestAliases Show quest aliases. [ShowQuestAliases QuestID] | |
262: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[alias] | |
tracking = "!f() { git for-each-ref --format '%(refname:short):%(upstream:short)' 'refs/heads' | egrep -v ':$'; }; f" | |
is-clean-workdir = "!f() { git diff --stat --exit-code || { echo \"Workdir dirty\"; exit 1; }; }; f" | |
is-clean-index = "!f() { git diff --stat --cached --exit-code || { echo \"Index dirty\"; exit 2; }; }; f" | |
is-clean = "!f() { git is-clean-workdir && git is-clean-index; }; f" | |
co-merge = "!f() { local=\"$1\"; remote=\"$2\"; git checkout \"$local\"; git merge --ff-only \"$remote\"; }; f" | |
current-branch = rev-parse --abbrev-ref HEAD | |
sync = "!f() { git is-clean || { echo Aborting sync.; exit 1; }; current=$(git current-branch); git fetch --all; git tracking | while IFS=: read local remote; do echo \"Merging $local with $remote\"; git co-merge \"$local\" \"$remote\"; done 3>&1 1>&2 2>&3 | egrep -i --color 'fatal|$' 3>&1 1>&2 2>&3; git checkout \"$current\"; }; f" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -e | |
# See also: https://github.com/frost-nzcr4/find_forks (same thing but in python) | |
origin_url="$(git remote show origin | grep 'Fetch URL:' | sed 's+.*: ++')" | |
full_repo_name="$(echo "$origin_url" | sed 's+.*github.com/++ ; s+\.git$++')" | |
forks_url="https://api.github.com/repos/${full_repo_name}/forks" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import idaapi | |
import ida_hexrays | |
import ida_lines | |
class MyChoose(idaapi.Choose): | |
def __init__(self, items, title, cols, icon=-1): | |
idaapi.Choose.__init__(self, title, cols, flags=idaapi.Choose.CH_MODAL, icon=icon) | |
self.items = items | |
def OnClose(self): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// library.h ------------------------------------------------------------------- | |
#define opaque(Type) Type; int $sizeof_##Type(void); | |
#define opaque_impl(Type) int $sizeof_##Type(void) { return sizeof(Type); } | |
#define local(Type) ((Type *)alloca($sizeof_##Type())) | |
// foo.h ----------------------------------------------------------------------- |
For fun I implemented a lightweight exception mechanism for C that allows writing transactional code. This is what it looks like:
int device_create(device_t **odevice)
{
throwbase(-1); // makes this function "throwing" with a default return value of -1.
device_t *device = malloc(sizeof *device);
check(device);
NewerOlder