Skip to content

Instantly share code, notes, and snippets.

View ken-okabe's full-sized avatar

Ken Okabe ken-okabe

View GitHub Profile
@ken-okabe
ken-okabe / 99-AnkerBT-keyboard.hwdb
Created November 21, 2025 18:44 — forked from rhomel/99-AnkerBT-keyboard.hwdb
Remap the function keys on an Anker slim bluetooth keyboard
# Invert Anker A7726 Keyboard FN Keys
#
# This is the keyboard I bought:
# https://www.amazon.co.jp/gp/product/B00U260UR0/
# But the fn keys default to media keys which is very annoying.
#
# This will make the FN media keys function as F keys without pushing the FN
# button. Also you can still use the media keys by pushing the FN + Media key
# combination.
#
const identity = a => a;
const customOperator = op => f => set =>
Object.defineProperty(set, op, {
value: function (a) {
return f(a)(this);
}
});//returns new set/object
Function.prototype |>
@ken-okabe
ken-okabe / index.html
Created April 5, 2019 13:00
unlimitedjs + MDC login
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<!-- Required styles for MDC Web -->
<link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css">
<style type="text/css">
{
//Issue:
//not compatible with TypeScript Types
// "@types/react"
// "@types/react-dom"
//TypeScript
// import * as React from "react";
// import * as ReactDOM from "react-dom";
const typedPrimitive = (I: Function) => (i: undefined) => {
const derived = Object(i);
Object.setPrototypeOf(derived, Object(i));
const typeProperty = {
enumerable: false,
configurable: false,
writable: false,
value: I
{
const equalJSON = a => b => JSON.stringify(a) === JSON.stringify(b);
const logEq = a => b => {
const result = equalJSON(a)(b);
console.log(result);
return result;
};
@ken-okabe
ken-okabe / blogger-bootstrap.xml
Last active January 3, 2025 06:56
blogger-bootstrap.xml
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<b:if cond='data:blog.isMobile'>
<meta content='width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0' name='viewport'/>
<b:else/>
<meta content='width=1100' name='viewport'/>
</b:if>
<b:include data='blog' name='all-head-content'/>
const isFunction = (m) => (typeof m === "function");
const isHigherOrder = (f) => isFunction(f("foo"));
const compose = (f, g) => (x => g(f(x)));
const isMonad = (m) => !(typeof m.val === "undefined");
const M = (m = []) => {
const f = m1 => {
const m1S = isMonad(m1) ? m1 : M(m1);
return !isFunction(m)
? M(m1S.val(m)) // a-f chain
@ken-okabe
ken-okabe / react-tutorial2016
Last active November 26, 2019 05:20
Hello!
#React 入門 2016 あるいは statelessさらにprop不要で関数型・宣言型的にコーディングする手法
#React(0.14+), JavaScript(ES6)は変化が激しすぎるのでReact入門記事を全面改訂します
当ブログで昨年2015年4月にUPしたReact解説記事(2つ)
- [React (.js Facebook)解説 関数型プログラミングに目覚めた! IQ145の女子高生の先輩から受けた特訓5日間 サポート記事 静的HTML編](http://kenokabe-techwriting.blogspot.jp/2015/04/react-js-facebook-iq145-html.html)