Skip to content

Instantly share code, notes, and snippets.

Gee Law GeeLaw

Block or report user

Report or block GeeLaw

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
@GeeLaw
GeeLaw / gnfa2.cpp
Created Aug 22, 2019
Creates a regular expression that accepts strings of length at least 15 that have a digit, a lowercase letter, an uppercase letter and a special character.
View gnfa2.cpp
// gnfa.cpp
// Copyright 2019 by Gee Law.
// Forked from https://gist.github.com/GeeLaw/be3aec94a6ba7c3817ef2e16d261f616
// Licensed under the MIT license.
#include<cstdio>
#include<vector>
#include<map>
template <typename TDerived, typename TBase>
@GeeLaw
GeeLaw / Move-PhotosInteractively.ps1
Created May 21, 2019
Photo organizer (V2EX 566127)
View Move-PhotosInteractively.ps1
& {
$source = '~\Documents\Playground\MovePhotos'
$destinations = @(
'~\Documents\Playground\MovePhotos\Category1',
'~\Documents\Playground\MovePhotos\Category2',
'~\Documents\Playground\MovePhotos\Category3'
)
$destinationNames = @(
'Category1',
@GeeLaw
GeeLaw / gnfa.cpp
Created Dec 29, 2018
Playing with generalized NFA. The program gets a positive number as input, and outputs a regular expression that matches positive decimal integer without leading zeros that is a multiple of the input number.
View gnfa.cpp
// gnfa.cpp
// Copyright 2018 by Gee Law.
// Licensed under the MIT license.
#include<cstdio>
#include<vector>
#include<map>
// #define DEBUG_ONLY(t) do { t; } while (false)
#define DEBUG_ONLY(t) do { } while (false)
@GeeLaw
GeeLaw / OutlookCourseMgmt.vb
Created Sep 21, 2018
Outlook course management macro
View OutlookCourseMgmt.vb
Option Explicit
' See https://geelaw.blog/entries/course-mgmt-outlook/
Dim termStartsOn As Date, curriculumCalendar As Folder
Sub AskForTermStartsOn()
Dim shouldAskNewDate As Boolean
TryAskNewDate:
@GeeLaw
GeeLaw / sfinae.cc
Created Aug 13, 2018
Use SFINAE to detect whether to_string is present.
View sfinae.cc
#include<string>
#include<iostream>
#include<utility>
#include<type_traits>
template <typename T, typename TType, bool value =
std::is_same<std::string, decltype(to_string(std::forward<T>(*(T *)nullptr)))>::value
>
struct has_to_string { };
@GeeLaw
GeeLaw / handler.cc
Created May 26, 2018
URI protocol handler that chooses a class-verb combination based on the URI
View handler.cc
/**************************************************************************\
|* *|
|* The MIT License (MIT) *|
|* *|
|* Copyright © 2018 by Gee Law *|
|* *|
|* Permission is hereby granted, free of charge, to any person obtaining *|
|* a copy of this software and associated documentation files (the “Soft- *|
|* ware”), to deal in the Software without restriction, including without *|
|* limitation the rights to use, copy, modify, merge, publish, distribute,*|
@GeeLaw
GeeLaw / keybase.md
Created Feb 19, 2016
Identifying this account as geelaw on Keybase.
View keybase.md

Keybase proof

I hereby claim:

  • I am geelaw on github.
  • I am geelaw (https://keybase.io/geelaw) on keybase.
  • I have a public key whose fingerprint is 36A6 DC21 7826 C763 FCC4 7114 951F 0BEB A856 D53A

To claim this, I am signing this object:

@GeeLaw
GeeLaw / word-detach-template-vba-macro
Last active Mar 14, 2017
A VBA Macro for Microsoft Word to attach the normal template (Normal.dotm) to the active document.
View word-detach-template-vba-macro
Option Explicit
' CC BY-SA
' by Gee Law on github.com/geelaw
Sub DetachTemplate()
'
' DetachTemplate Macro
'
'
@GeeLaw
GeeLaw / geelawdicttkeytvaluedotnet.cs
Created Jun 16, 2014
On Dictionary<TKey, TValue> in .NET
View geelawdicttkeytvaluedotnet.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestDict
{
struct SampleStructIS
{
You can’t perform that action at this time.