Skip to content

Instantly share code, notes, and snippets.

@istupakov
istupakov / AutoVersionFromGit.prop
Last active June 14, 2016 19:18
MSBuild target for automatic update AssemblyInfo.cs.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="RegexTransform" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<InputFile ParameterType="System.String" Required="true" />
<OutputFile ParameterType="System.String" Required="true" />
<Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
</ParameterGroup>
<Task>
<Using Namespace="System.IO" />
@istupakov
istupakov / MsOfficeImagesToPdf.cs
Last active November 17, 2015 21:41
Export images from Word or Excel file to separate pdf files.
using System;
using System.IO;
using System.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
namespace MsOfficeImagesToPdf
{
class Converter : IDisposable
{
@istupakov
istupakov / SendInvitations.cs
Created October 20, 2015 16:00
Simple program for create and send invitation to conference.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Xml;
using Word = Microsoft.Office.Interop.Word;
namespace SendInvitations
@istupakov
istupakov / CSharpScriptingTest.cs
Created November 4, 2015 21:14
Test Roslyn Scripting API. It's cool!
using System;
using System.Linq.Expressions;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Scripting;
using Microsoft.CodeAnalysis.Scripting.CSharp;
using static System.Console;
namespace CSharpScriptingTest
{
class Program
@istupakov
istupakov / ClipboardToEMF.cpp
Last active November 17, 2015 21:39
Save Enhanced Metafile image from clipboard to file.
#include <Windows.h>
#include <vector>
#include <iostream>
#include <fstream>
using namespace std;
void error(char* message)
{
cerr << message << endl;
exit(-1);
@istupakov
istupakov / ConsoleApp.cs
Created February 13, 2016 23:55
Bug in .NET Core. Method not found: Expression.Update
using System;
using System.Linq.Expressions;
namespace ConsoleApp
{
class Visitor : ExpressionVisitor
{
protected override Expression VisitParameter(ParameterExpression node)
{
return Expression.Constant(1.0);
@istupakov
istupakov / NativeDll.prop
Created June 14, 2016 19:17
MsBuild config for nuget packages with native dlls
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Content Include="$(MSBuildThisFileDirectory)\..\lib\native\*.dll">
<Link>%(Filename).dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>
@istupakov
istupakov / ShuntingYardParser.cs
Created September 29, 2016 18:39
C# realization of Shunting-yard algorithm
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ShuntingYardParser
{
enum TokenType { Number, Variable, Function, Parenthesis, Operator, Comma, WhiteSpace };
@istupakov
istupakov / neerc2016-F.cpp
Created December 9, 2016 19:21
ACM ICPC NEERC 2016: Problem F. Foreign Postcards
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
std::string a;
getline(std::cin, a);
@istupakov
istupakov / neerc2016-L.cpp
Created December 9, 2016 19:24
ACM ICPC NEERC 2016: Problem L. List of Primes
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <map>
using namespace std;
pair<int, int> get_next_prime(int k)
{
for (int i = 2; i < k; i++)