Skip to content

Instantly share code, notes, and snippets.

Avatar

Vladimir Vissoultchev wqweto

  • Unicontsoft
  • Sofia, Bulgaria
View GitHub Profile
@wqweto
wqweto / CsvExtensions.cs
Created Jun 8, 2015
Generic CSV formatting extension that works on `IEnumerable<T>` and returns `IEnumerable<string>`
View CsvExtensions.cs
public static class CsvExtensions
{
//
// sample usage:
//
// var list = new object[] {
// new { Email = "svetlahristova0@gmail.bg", Name = "Свет.а Х,истова", UnsubscribeToken = "12\r34" },
// new { Email = "test", Name = "11\"22", UnsubscribeToken = "5\n67" },
// };
// var csv = string.Join(Environment.NewLine, list.ToCsvTable());
@wqweto
wqweto / gist:4257321
Created Dec 11, 2012
Fix for 'Last good DBCC CHECKDB over 2 weeks old'
View gist:4257321
/*
Sample DBCC DBInfo() With TableResults output. Notice double dbi_dbccLastKnownGood field. Fix at the bottom.
ParentObject Object Field VALUE
------------------------------- --------------------------------- ------------------------------------ ---------------------------------------------------------
DBINFO STRUCTURE: DBINFO @0x00000000420BD670 dbi_dbid 5
DBINFO STRUCTURE: DBINFO @0x00000000420BD670 dbi_status 9502720
DBINFO STRUCTURE: DBINFO @0x00000000420BD670 dbi_nextid 348222265
DBINFO STRUCTURE: DBINFO @0x00000000420BD670 dbi_dbname Dreem15_IVB
@wqweto
wqweto / gist:4730218
Created Feb 7, 2013
Find Column Usage in MSSQL 2008
View gist:4730218
DECLARE @TmpColumns TABLE (
TableName SYSNAME
, ColumnName SYSNAME
, object_id INT
, column_id INT
)
INSERT @TmpColumns
SELECT s.TableName, s.ColumnName, c.object_id, c.column_id
--FROM (
@wqweto
wqweto / a_find_implicit_conversions.sql
Last active Dec 16, 2015
Finding Implicit Column Conversions in the Plan Cache made usable
View a_find_implicit_conversions.sql
/*
Based on http://www.sqlskills.com/blogs/jonathan/finding-implicit-column-conversions-in-the-plan-cache/
Results made (mostly) usable by deduping on statements and ordering output by tables and columns
Uses sys.columns instead of INFORMATION_SCHEMA.COLUMNS for performance (nothing gained here)
*/
@wqweto
wqweto / post_cache.txt
Created Aug 20, 2013
SQLIO test of RAID 5 with 4 x Intel 520 SSDs on an HP SmartArray P420i controller
View post_cache.txt
sqlio v1.5.SG
using system counter for latency timings, 2343896 counts per second
8 threads writing for 360 secs to file D:\testfile.dat
using 8KB random IOs
enabling multiple I/Os per thread with 8 outstanding
buffering set to use hardware disk cache (but not file cache)
using current size: 36864 MB for file: D:\testfile.dat
initialization done
CUMULATIVE DATA:
throughput metrics:
@wqweto
wqweto / pg_conv.vbs
Created Sep 15, 2013
Converts an MSSQL database creating script to PostgreSQL. Uses a VBScript implementation of preg_replace for the heavy lifting.
View pg_conv.vbs
Option Explicit
Const ForWriting = 2
Const TristateTrue = -1
Dim sFile, sOutputFile, oOutputStream, sText
sFile = WScript.Arguments.Named("i")
sOutputFile = WScript.Arguments.Named("o")
If LenB(sFile) = 0 Then
WScript.echo "usage: pg_conv.vbs /i:intput_file.sql [/o:output_file.sql]"
WScript.Quit 1
View AtlEscapeUrl
//Convert all unsafe characters in szStringIn to escape sequences
//lpszStringIn and lpszStringOut should be different strings
inline _Success_(return != FALSE) BOOL AtlEscapeUrl(
_In_z_ LPCSTR szStringIn,
_Out_writes_to_(dwMaxLength, *pdwStrLen) LPSTR szStringOut,
_Out_opt_ DWORD* pdwStrLen,
_In_ DWORD dwMaxLength,
_In_ DWORD dwFlags = 0)
{
ATLENSURE( szStringIn != NULL );
@wqweto
wqweto / bitclean.bat
Last active Jan 4, 2016
Dumps audio file bitrate
View bitclean.bat
@echo off
for /f "tokens=1-2 delims=|" %%i in ('cscript //nologo bitrate.vbs /f:"%~1" /m:"%~2"') do (
if %%j LSS 320 echo %%i has bitrate %%j and will be deleted
)
@wqweto
wqweto / re.lua
Last active Jan 4, 2016
LPeg.re w/ optional built-in and external trace support (can be used w/ pegdebug.lua)
View re.lua
-- $Id: re.lua,v 1.44 2013/03/26 20:11:40 roberto Exp $
-- imported functions and modules
local tonumber, type, print, error = tonumber, type, print, error
local setmetatable = setmetatable
local m = require"lpeg"
-- 'm' will be used to parse expressions, and 'mm' will be used to
-- create expressions; that is, 're' runs on 'm', creating patterns
-- on 'mm'
@wqweto
wqweto / bf2.lua
Last active Feb 16, 2016
Brainfuck optimizing compiler in Lua
View bf2.lua
-- This transpiler generates Lua source code from input brainf**k program, then compiles and
-- executes this Lua source code. Can be used with LuaJIT for jitted brainf**k experience.
--
-- Based on https://github.com/prapin/LuaBrainFuck/blob/master/brainfuck.lua
-- Inspired by https://github.com/luapower/bf and its dynasm implementation (~5-10x faster)
-- Optimizations from https://www.nayuki.io/page/optimizing-brainfuck-compiler
--
-- Optimizations due to lpeg grammar:
-- instead of generating repeating `i = i + 1` just output `i = i + N`
-- instead of generating repeating `t[i] = t[i] + 1` just output `t[i] = t[i] + N`