Skip to content

Instantly share code, notes, and snippets.

var HelloMessage = React.createClass({
render: function() {
return <script>function f() { var a = 5; }</script>;
}
});
@IvanVergiliev
IvanVergiliev / power.cc
Created July 12, 2015 12:57
Compile time Fibonacci
#include <cstdio>
#include <array>
using std::array;
const int MOD = 1000;
class ArrayWrapper {
const array<int, 2>& value;
@IvanVergiliev
IvanVergiliev / typelist.cc
Created August 31, 2012 22:09
Partial implementation of the TypeList functionality from Modern C++ Design
#include <cstdio>
#include <limits>
#include <iostream>
using namespace std;
class NullType {};
template<typename T, typename U>
class TypeList {
@IvanVergiliev
IvanVergiliev / a_star.cc
Created October 23, 2012 00:06
Implementation of A* for the 8-puzzle
#include <cstdio>
#include <map>
#include <set>
#include <vector>
using namespace std;
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, 1, 0, -1};
@IvanVergiliev
IvanVergiliev / pipe.cc
Last active December 20, 2015 01:19
Custom binary search using std::lower_bound over used-defined iterators.
#include <cstdio>
#include <algorithm>
#include <iterator>
#include <vector>
using namespace std;
struct TestCase {
int N;
int K;
package io.github.ivanvergiliev;
public class NonVolatileFlag {
private static boolean flag = false;
public static class FlagChecker implements Runnable {
public void run() {
long iter = 0;
while (flag == false) {
++iter;
#include <cstdlib>
#include <string>
// All of the below are not really standards-compliant, but good enough
// for experiments.
void* operator new(std::size_t size) {
printf("Calling new(%zu).\n", size);
return std::malloc(size);
}
@IvanVergiliev
IvanVergiliev / transform.scala
Created June 17, 2021 20:34
Tree Transformation Algorithm
def transformTree(tree: Tree): Option[Tree] = {
  val transformedLeft = if (canTransform(tree.left)) {
    transform(tree.left)
} else None
  val transformedRight = if (canTransform(tree.right)) {
    transform(tree.right)
} else None
val result = if (transformedLeft.isDefined && transformedRight.isDefined) {
@IvanVergiliev
IvanVergiliev / tree_transform_dry.scala
Created June 17, 2021 20:35
Tree Transformation Algorithm with Code Reuse
def transformTree(tree: Tree): Option[Tree] = {
// Notice that there's no `canTranform` - we're using
// `transform().isDefined` to check for transformability!
  val transformedLeft = if (transform(tree.left).isDefined) {
    transform(tree.left)
} else None
...
}
import org.apache.spark.sql.Column
def treeFold(
  columns: List[Column],
  initialValue: Column,
  op: (Column, Column) => Column
): Column = {
  if (columns.isEmpty) {
    initialValue
  } else if (columns.length == 1) {