Skip to content

Instantly share code, notes, and snippets.

View andrienko's full-sized avatar
🇺🇦
~

Ilia Andrienko andrienko

🇺🇦
~
View GitHub Profile
@andrienko
andrienko / wheel reinvented
Created December 7, 2013 12:19
I did it because I can.
<?
class a{
public $something;
function output(){
echo("A happens!<br>");
}
}
class b{
@andrienko
andrienko / extend.js
Created March 30, 2016 14:37
Yet another jquery-like deep extend implementation
module.exports = (function () {
var extend_single = function (destination, source, deep) {
for (var key in source) {
if (source.hasOwnProperty(key)) {
if (deep && typeof destination[key] == 'object' && typeof source[key] == 'object') {
destination[key] = extend_single(destination[key], source[key], deep);
} else {
destination[key] = source[key];
@andrienko
andrienko / webpack.config.js
Created November 7, 2018 15:52
This is my webpack config. There are many webpack configs, and this one is mine!
/* eslint-disable */
var path = require('path');
var MiniCssExtractPlugin = require('mini-css-extract-plugin');
var WriteFilePlugin = require('write-file-webpack-plugin');
var cssnano = require('cssnano');
var autoprefixer = require('autoprefixer');
var cssLoaderUse = function(asModules) {
return [
@andrienko
andrienko / index.fakeloading.js
Last active November 9, 2018 13:30
Minimal mobx store app with observables
import React from "react";
import ReactDOM from "react-dom";
import { observable } from "mobx";
import { observer } from "mobx-react";
// Store
class Store {
@observable isLoading = false;
@andrienko
andrienko / examplefile.dae
Created May 17, 2022 13:33
xmldom-qsa failing XML file
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
<asset>
<contributor>
<authoring_tool>three.js Collada Exporter</authoring_tool>
</contributor>
<created>2022-05-17T12:06:03.572Z</created>
<modified>2022-05-17T12:06:03.572Z</modified>
<up_axis>Y_UP</up_axis>
</asset>
@andrienko
andrienko / percentage.php
Created October 10, 2016 01:32
PHP 5.2. Calculating percentage using largest remainder method (bit tricky)
<?php
function calculate_percentage($aw,$tp=0,$t=0){
foreach($aw as $a) $t += $a['votes'];
foreach($aw as &$a)$tp += floor($a['percentage'] = $a['votes'] / $t * 100);
uasort($aw, 'sort_by_remainder');
foreach ($aw as &$v) $v['percentage'] = ($tp++ < 100) ? ceil($v['percentage']) : floor($v['percentage']);
ksort($aw);
return $aw;
}
@andrienko
andrienko / monacoDragAndDropProvider.ts
Last active February 6, 2024 12:43
Monaco drag and drop provider
import React from 'react';
import { editor } from 'monaco-editor';
import IMouseTarget = editor.IMouseTarget;
import IStandaloneCodeEditor = editor.IStandaloneCodeEditor;
import IContentWidget = editor.IContentWidget;
const { ContentWidgetPositionPreference } = editor;
export type TDropHandler = (e: React.DragEvent, target: IMouseTarget, instance: IStandaloneCodeEditor) => void;
export type TInstanceGetter = () => IStandaloneCodeEditor;