Skip to content

Instantly share code, notes, and snippets.

Danil Skachkov xVir

  • Google
Block or report user

Report or block xVir

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@xVir
xVir / vpn.md
Created Aug 29, 2016
Scripts for enabling and disabling VPN in Control Plane
View vpn.md

This script will be usefull if you want to enable VPN automatically on coming to work and to disable it on escaping from work using great Control Plane app.

It is assumed that you use Tunnelblick to manage VPN connections.

To connect to VPN:

set q to "<your_connection_name>"
tell application "Tunnelblick"
	set configs to get name of configurations
	if q is in configs then
@xVir
xVir / updated_copy_path.md
Last active Aug 16, 2016
updated_copy_path
View updated_copy_path.md

It is the updated variant of my copy path script for Automator

on run {input, parameters}
	set res to ""
	if not input = "" then
		repeat with theFile in input
			if not res = "" then
				set res to res & return
			end if
@xVir
xVir / src.js
Created Aug 4, 2016
Get user id in FB API.AI bot
View src.js
let apiaiRequest = apiAiService.textRequest(text,
{
sessionId: sessionIds.get(sender),
contexts: [
{
name: "generic",
parameters: {
facebook_user_id: sender
}
}
@xVir
xVir / index.js
Created Aug 2, 2016
Webhook for bots
View index.js
'use strict';
const express = require('express');
const bodyParser = require('body-parser');
const restService = express();
restService.use(bodyParser.json());
restService.post('/webhook', (req, res) => {
@xVir
xVir / unity_multithreading.md
Last active Nov 18, 2015
Few words about Unity multithreading
View unity_multithreading.md

While working on our API.AI Unity SDK I faced with task to make HTTP requests in the background thread. In the Unity there is c# Thread class, which runs particular code in background. But you can't interact with your game objects from background thread. So, I need some tool to execute code from our background thread in the Unity Main Thread. Another platforms solve this problem with different mechanisms, like Dispatcher. But in Unity there is no similar class for this. Quick search give me some tricks allowing to execute code in the main thread, and I describe the simpliest one here.

The main idea of the method is to create Queue of actions, and execute these actions in the Update method of MonoBehaviour class. First, suppose that we have some MonoBehaviour class.

public class TestModule : MonoBehaviour
{
}

We should add actions queue fiel

@xVir
xVir / script_copy_path.md
Last active Aug 2, 2018
Полезный скрипт для automator
View script_copy_path.md

Как скопировать путь к файлу в Finder

Этот скрипт для Automator позволяет добавить в Finder кнопку "Скопировать текущий путь". Если в Finder выбран файл или папка, то будет скопирован путь к соответствующему объекту. Если ничего не выбрано, то будет скопирован путь к текущей папке.

tell application "Finder"
	set sel to the selection as text
	if sel = "" then
		set sel to the insertion location as text
@xVir
xVir / unity_codegen.md
Created Mar 12, 2015
Unity and codegeneration
View unity_codegen.md

While working on Unity plugin project I need to map JSON to the C# objects. For this task I used modification of the fastJSON library. But fastJSON use codegeneration for creating special methods for reading/writing object properties. It looks like:

il.Emit(OpCodes.Ldarg_0);
il.Emit(OpCodes.Ldarg_1);
if (fieldInfo.FieldType.IsValueType)
    il.Emit(OpCodes.Unbox_Any, fieldInfo.FieldType);
@xVir
xVir / unity_https_problem.md
Last active Apr 21, 2016
Unity problem with HTTPS
View unity_https_problem.md

Another problem I faced with while development of Unity plugin is Exception while HTTP request from the iOS platform. It produces such stacktrace:

ExecutionEngineException: Attempting to JIT compile method 'System.Reflection.MonoProperty:GetterAdapterFrame<Mono.Security.Protocol.Tls.HttpsClientStream, bool> (System.Reflection.MonoProperty/Getter`2<Mono.Security.Protocol.Tls.HttpsClientStream, bool>,object)' while running with --aot-only.

  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) [0x00000] in <filename unknown>:0 
  at System.Net.WebConnection.Write (System.Net.HttpWebRequest request, System.Byte[] buffer, Int32 offset, Int32 size, System.String& err_msg) [0x00000] in <filename unknown>:0 
  at System.Net.WebConnectionStream.WriteHeaders () [0x00000] in <filename unknown>:0 
  at System.Net.WebConnectionStream.SetHeaders (System.Byte[] buffer) [0x00000] in <filename unknown>:0 
  at System.Net.HttpWebRequest.SendRequestHeaders (Boolean propagate_error) [0x000
@xVir
xVir / unity_android_problem.md
Last active Aug 29, 2015
Unity compilation and Android
View unity_android_problem.md

Problems with Unity app compilation

While development of our API.AI Unity SDK I have faced with upset thing. When trying to build sample Unity app for iOS platform build ends with error:

Cross compilation job ApiAiSDK.Unity.dll failed.
UnityEngine.UnityException: Failed AOT cross compiler: /Applications/Unity/Unity.app/Contents/PlaybackEngines/iOSSupport/Tools/OSX/mono-xcompiler --aot=full,asmonly,nodebug,static,outfile="ApiAiSDK.Unity.dll.s" "ApiAiSDK.Unity.dll" 

First I thought, that this situation is caused by external dll's, linked to the ApiAiSDK.Unity.dll library. Googling did not lead to anything useful... So I tried to check my external libraries, and run mono-xcompiler manually. mono-xcompiler compiles .NET Assembly to the native iOS code.

@xVir
xVir / MultipartHttpClient.cs
Created Feb 5, 2015
Send multipart request with HttpWebRequest
View MultipartHttpClient.cs
using System;
using System.Collections;
using System.Net;
using System.IO;
using System.Text;
public class MultipartHttpClient
{
private const string delimiter = "--";
You can’t perform that action at this time.