Skip to content

Instantly share code, notes, and snippets.

@main--
main-- / Eaterator.cs
Created September 8, 2015 00:31
Emulate iterators using async/await
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Eaterator
{
class Program
{
$ cat test1.c
int main() {
return *(int*)0;
}
$ clang -c test1.c -O3 -o test1
test1.c:2:12: warning: indirection of non-volatile null pointer will be deleted, not trap [-Wnull-dereference]
return *(int*)0;
^~~~~~~~
test1.c:2:12: note: consider using __builtin_trap() or qualifying pointer with 'volatile'
1 warning generated.
public override System.Collections.Generic.IEnumerable<FigurePosition> GetPossibleTargets(BoardState state)
{
for (FigurePosition pos = Position; pos.IsValid() && !state.IsPositionOccupied(pos, false); pos += new Vector(1, 1))
yield return pos;
for (FigurePosition pos = Position; pos.IsValid() && !state.IsPositionOccupied(pos, false); pos += new Vector(-1, 1))
yield return pos;
for (FigurePosition pos = Position; pos.IsValid() && !state.IsPositionOccupied(pos, false); pos += new Vector(1, -1))
yield return pos;
for (FigurePosition pos = Position; pos.IsValid() && !state.IsPositionOccupied(pos, false); pos += new Vector(-1, -1))
yield return pos;
@main--
main-- / CraftBukkitHelper.java
Created December 26, 2012 21:17
Hell yeah.
package me.main__.nanotech.dirty;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import me.main__.nanotech.NanoTech;
import org.bukkit.Bukkit;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
@main--
main-- / EMF.java
Created December 12, 2012 20:22
MV autoupdates Appengine API
package com.onarandombox.mvapi;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public final class EMF {
private static final EntityManagerFactory emfInstance =
Persistence.createEntityManagerFactory("transactions-optional");
private EMF() {}
@main--
main-- / gist:4251302
Created December 10, 2012 15:36
Bukkit plugins vs CraftBukkit plugins

Before the change

Bukkit plugin

  • accesses only the bukkit API
  • doesn't care about the implementation/doesn't touch it
  • limited possibilities because things like packet manipulation can't go into Bukkit
  • (almost) fully downwards compatible
<?xml version="1.0" encoding="utf-8"?>
<package >
<metadata>
<id>Ice</id>
<title>Internet Communications Engine</title>
<version>3.5.1.0</version>
<authors>ZeroC</authors>
<owners>ZeroC</owners>
<licenseUrl>https://zeroc.com/licensing.html</licenseUrl>
<projectUrl>https://zeroc.com/icedotnet.html</projectUrl>
@main--
main-- / gist:c8aeafe30170e28d5ec1
Last active August 29, 2015 14:19
ArrayList vs LinkedList
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
namespace katzenjammer
{
class MainClass
{
public static void Main(string[] args)
Restoring packages for /home/noah/aspnet/Home/samples/HelloMvc/project.json
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Reflection'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Text.Encoding'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.IO'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Globalization'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Runtime.Extensions'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Runtime'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Threading.Tasks'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Collections'.
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Xml.ReaderWriter'.
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Unsafe
{
[StructLayout(LayoutKind.Explicit)]
public struct Union
{
[FieldOffset(0)]