Skip to content

Instantly share code, notes, and snippets.

View hashrock's full-sized avatar
🍋
Need a lemon?

hashrock hashrock

🍋
Need a lemon?
View GitHub Profile
@hashrock
hashrock / pack-to-ymd-dir.ts
Created November 26, 2022 11:07
Deno pack file to yyyyMMdd - dir
import {format} from "https://deno.land/std@0.166.0/datetime/mod.ts";
import {basename, dirname} from "https://deno.land/std@0.166.0/path/mod.ts";
const args = Deno.args;
if (args.length === 0) {
console.log("No arguments provided");
Deno.exit(1);
}
@hashrock
hashrock / twtxt-hash.test.ts
Created November 11, 2022 14:30
Deno twtxt hash calc
import { encode } from "https://deno.land/std@0.163.0/encoding/base32.ts";
import { blake2b } from "https://esm.sh/blakejs@1.2.1";
import { DateTime } from "https://esm.sh/luxon@3.1.0";
import { assertEquals } from "https://deno.land/std@0.163.0/testing/asserts.ts";
function base32(payload: Uint8Array) {
return encode(payload).replace(/=/g, "").toLowerCase();
}
function blake2b256(payload: string) {
return blake2b(payload, undefined, 32);
@hashrock
hashrock / MainTest.java
Created October 2, 2020 10:05
AssertJ-Swing wait example
package hashrock.study.swing;
import org.assertj.swing.core.GenericTypeMatcher;
import org.assertj.swing.edt.GuiActionRunner;
import org.assertj.swing.fixture.FrameFixture;
import org.assertj.swing.junit.testcase.AssertJSwingJUnitTestCase;
import org.assertj.swing.timing.Condition;
import org.junit.Test;
import static org.assertj.swing.timing.Pause.pause;
import static org.assertj.swing.timing.Timeout.timeout;
//from https://qiita.com/skryoooo/items/a37455bef54321a6195a
//変更内容:関数化とconst化
function saveSvgAsPng(el) {
const svgData = new XMLSerializer().serializeToString(el);
const canvas = document.createElement("canvas");
canvas.width = el.width.baseVal.value;
canvas.height = el.height.baseVal.value;
const ctx = canvas.getContext("2d");
@hashrock
hashrock / server.tsx
Created October 8, 2019 08:09
One file server with deno
import { serve } from "https://deno.land/std@v0.19.0/http/server.ts";
import React from "https://dev.jspm.io/react";
import ReactDOMServer from "https://dev.jspm.io/react-dom/server";
const s = serve(":8000");
const hello: string = "Hello"
const View = (props) =>
<div className="deno">{hello}, {props.msg}</div>;
window.onload = async () => {
const Vue = require("vue");
const createRenderer = require("vue-server-renderer").createRenderer;
const compiler = require("vue-template-compiler");
const renderToString = createRenderer().renderToString;
var App = {
template: `<div>
<div v-for="item in items">{{item}}</div>
</div>`,
data() {
@hashrock
hashrock / pomodoro.py
Created May 14, 2019 16:52
My first pomodoro app for M5Stack
from m5stack import *
import utime
import math
cnt = 0
m_cnt = cnt
start = False
done = False
def init():
// import * as ws from "https://deno.land/std/ws/mod.ts";
//TODO 有効なChromeのパスを探す
const chrome =
"/opt/homebrew-cask/Caskroom/google-chrome/latest/Google Chrome.app/Contents/MacOS/Google Chrome";
async function main() {
const dirName = await Deno.makeTempDir({ prefix: "deno_chrome_temp" });
const width = 400;
const height = 400;
@hashrock
hashrock / svg-drag.js
Last active January 31, 2024 13:22
SVG Drag and Drop with React Hooks
import React from "react";
import ReactDOM from "react-dom";
const Circle = () => {
const [position, setPosition] = React.useState({
x: 100,
y: 100,
active: false,
offset: { }
});
@hashrock
hashrock / index.js
Created December 12, 2018 09:23
SVG gantt renderer for scrapbox, on firebase functions
const functions = require("firebase-functions");
const app = require("express")();
const svgContent = "image/svg+xml; charset=utf-8";
function resetHMS(d) {
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);