Skip to content

Instantly share code, notes, and snippets.

@maxtruxa
maxtruxa / hstart.c
Last active December 30, 2015 20:49
CLI utility for Windows that can start a process hiding it's window. #c #windows #cli
//
// The MIT License (MIT)
//
// Copyright (c) 2013 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
@maxtruxa
maxtruxa / sudoku.cpp
Created January 10, 2014 05:46
Simple Sudoku solver. #cpp #cli
//
// The MIT License (MIT)
//
// Copyright (c) 2013 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
@maxtruxa
maxtruxa / Trace.h
Last active April 7, 2017 06:43
Common tracing definitions for Windows drivers. #windows #driver
//
// The MIT License (MIT)
//
// Copyright (c) 2013-2014 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
@maxtruxa
maxtruxa / RingBuffer.c
Last active August 29, 2015 13:57
WDF ring buffer object #windows #driver
//
// The MIT License (MIT)
//
// Copyright (c) 2013-2014 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
@maxtruxa
maxtruxa / BrainFuck.cpp
Last active November 28, 2017 00:56
C++ BrainFuck Interpreter
#include <iostream>
#include <fstream>
#include <vector>
#include <Windows.h> // MessageBox
size_t const DATA_SIZE_START = 0x0000400; // 1 KiB
size_t const DATA_SIZE_MAX = 0x1000000; // 16 MiB
enum token_t : char
{
//
// The MIT License (MIT)
//
// Copyright (c) 2013-2014 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
@maxtruxa
maxtruxa / Antonyms.md
Last active April 3, 2024 22:51
A list of common terms used in programming and their respective antonyms.

Antonym List

Note: The table headings (positive/negative) are not necessarily meaningful.

Positive Negative
acquire release
add remove (e.g. an item), subtract (arithmetic)
advance retreat
allocate deallocate (correct), free (common)
allow deny

Example Paths

Examples below use the following paths:

Windows Posix
C:\Foo\Bar\Baz.xyz /foo/bar/baz.xyz

Path Decomposition

template<typename TMapIterator>
class key_iterator : public TMapIterator
{
public:
typedef typename TMapIterator::value_type::first_type key_type;
key_iterator() : TMapIterator() { }
key_iterator(TMapIterator iter) : TMapIterator(iter) { }
key_type* operator->()
@maxtruxa
maxtruxa / broken_vcxx.cpp
Last active August 29, 2015 14:23
VC++ bug: std::unique_ptr with std::is_same<element_type, pointer>::value == true
#include <iostream>
#include <memory>
int main() {
struct my_type {
void poke() { std::cout << "poke\n"; }
};
typedef my_type* my_type_ptr;
struct my_deleter {