Skip to content

Instantly share code, notes, and snippets.

View poizan42's full-sized avatar

Kasper Fabæch Brandt poizan42

View GitHub Profile
{
"saveVersion": 15,
"resources": [
{
"name": "catnip",
"value": 143495309.65551314,
"unlocked": true,
"isHidden": false
},
{
@poizan42
poizan42 / eratosthenes.cs
Last active March 14, 2016 15:21
Example showing the problem described in icsharpcode/ILSpy#684. Code originally written for [02242 Program Analysis](http://www.kurser.dtu.dk/02242.aspx), the language used is called While+ (but note that there are a couple of slightly different languages with that designation used in analysis and semantics litterature).
// Program
static int Main(string[] array)
{
int[] array2 = new int[1000];
int num = int.Parse(Console.ReadLine());
if ((num >= 1000) ?? (num < 2))
{
Console.WriteLine(-1);
}
else
function Get-CroppedText
{
$pdftotext="C:\Program Files\xpdf\pdftotext.exe"
$bbox=$args[0]
$inFile=$args[1]
pdfcrop --bbox $bbox $inFile tmp2.pdf | Out-Null
& $pdftotext -nopgbrk tmp2.pdf - | Select-Object -First 1 | foreach { $_.Trim() }
rm tmp2.pdf
}
@poizan42
poizan42 / mandelbrot-pdf-256x256.py
Created July 21, 2015 23:11
Some experimentation with creating a pdf with a 256x256 Mandelbrot set rendered by the viewer by using a tint transform. Viewers generally seems to reduce the precision to 8bpp before passing the data on to the tint transform, so it doesn't work
#!/usr/bin python
pdf = """%PDF-1.4
1 0 obj
<< /Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>>
endobj
2 0 obj
@poizan42
poizan42 / Mandelbrot16x16-fixed.pdf
Last active August 29, 2015 14:25
16x16 Mandelbrot set rendered by a tint transform (it's not technically a valid pdf because it lacks lengths and the xref table which is hard to write by hand, but every reader can reconstruct them anyways). The Mandelbrot16x16-fixed.pdf file has been opened and saved with Adobe Reader which repairs the file (but makes it human unreadable).
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@poizan42
poizan42 / q_encode.php
Created June 8, 2015 12:16
PHP q_encode
/*
Konverterer en streng til Q-encoding
En del spam filtrer ser ud til at regne det for mere sandsyneligt at en mail er spam hvis
subject og from er base64 encodet - og der er ingen grund til at udfordre skæbnen...
Q-encoding er en modificeret udgave af quoted-printable, som benyttes til mime headers
quoted-printable er beskrevet på wikipedia på http://en.wikipedia.org/wiki/Quoted-printable
forskellene der er i Q-encoding er beskrevet på http://en.wikipedia.org/wiki/MIME#Encoded-Word
Der er faktisk en funktion i php til at gøre dette - iconv_mime_encode -
denne encoder bare ikke alting korrekt (mellemrum som =20),
@poizan42
poizan42 / 0_reuse_code.js
Last active August 29, 2015 14:17
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@poizan42
poizan42 / get-all-ad-group-members.ps1
Created March 16, 2015 09:25
Get all AD group members (> 1500)
$listObj = [ADSI]"LDAP://CN=DistList,CN=Users,DC=example,DC=com"
$tmpMembers = $listObj.PSBase.Invoke('Members') | %{([System.DirectoryServices.DirectoryEntry] $_).mail}
@poizan42
poizan42 / wmain-call-stub.cpp
Last active August 29, 2015 14:17
stub to call wmain from main
#include <string>
#include <codecvt>
#include <locale>
int main(int argc, const char *argv[])
{
std::wstring_convert < std::codecvt<wchar_t, char, std::mbstate_t> > conv;
std::vector<const wchar_t*> wargv;
std::vector<std::wstring> wsargv;
wargv.resize(argc);
void write_int(int n) {
// Length of INT_MIN as a decimal number is 11 (-2147483647)
char buf[11];
int neg = n < 0;
n *= 1 - 2*neg;
int pos = 11;
do {
buf[--pos] = '0' + (n % 10);
n /= 10;
} while (n);