Skip to content

Instantly share code, notes, and snippets.

View richard-to's full-sized avatar

Richard To richard-to

View GitHub Profile
@richard-to
richard-to / mesop_chat_gemini.py
Created September 4, 2024 14:43
Simple chat example using Gemini with Mesop.
import os
import google.generativeai as genai
import mesop as me
import mesop.labs as mel
genai.configure(api_key=os.getenv("GOOLGLE_API_KEY"))
SYSTEM_INSTRUCTION = "Talk like Shakespeare."
@richard-to
richard-to / x11_screen_grab.cpp
Created April 7, 2014 10:30
X11 Example code for grabbing screenshots of window and sending key events
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <X11/Xlib.h>
@richard-to
richard-to / timer.py
Created July 12, 2024 16:54
Simple timer context manager
@contextmanager
def timer(name):
"""Context manager for timing code blocks with custom name."""
start_time = time.time()
yield
end_time = time.time()
elapsed_time = (end_time - start_time) * 1000
print(f"{name} took {elapsed_time:.2f} ms")
@richard-to
richard-to / gist:8797504
Created February 4, 2014 03:01
Google App Script to parse specific emails and write to Google Sheets
// Modified from http://pipetree.com/qmacro/blog/2011/10/automated-email-to-task-mechanism-with-google-apps-script/
// Globals, constants
var LABEL_PENDING = "pending";
var LABEL_DONE = "done";
// processPending(sheet)
// Process any pending emails and then move them to done
function processPending_(sheet) {
@richard-to
richard-to / gist:cbab2ec06345a2d6b48c3354088ae168
Created February 21, 2021 02:23
Gitlab Collapse Markup - Details/Summary
<p>
<details>
<summary>Click this to collapse/fold.</summary>
These details <em>remain</em> <strong>hidden</strong> until expanded.
<pre><code>PASTE LOGS HERE</code></pre>
</details>
</p>
@richard-to
richard-to / gist:546a17276dceb087b5a5a3662618dc0f
Created February 21, 2021 02:22
Git reset master to origin
git checkout -B master origin/master
conda create --name name python=3.7
conda activate name
conda deactivate
alembic init
alembic revision --autogenerate -m "Migration comment"
alembic upgrade head
@richard-to
richard-to / import_bookmarks_to_evernote.py
Created August 21, 2013 10:12
Quick and dirty script to import bookmarks into Evernote. Expected bookmarks file is in Delicious format. In my case, I needed to export Diigo bookmarks into Evernote.
from xml.sax.saxutils import escape
from datetime import datetime
from bs4 import BeautifulSoup
headerXml = """<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE en-export SYSTEM "http://xml.evernote.com/pub/evernote-export3.dtd">
<en-export application="Evernote" version="Evernote Mac">"""
footerXml = "</en-export>"