Skip to content

Instantly share code, notes, and snippets.

Avatar
🐢
on going

yoh yohhoy

🐢
on going
View GitHub Profile
@pandaman64
pandaman64 / memory_model.md
Last active Dec 18, 2020
papers on formalized memory models
View memory_model.md

色々メモリモデル

コンパイラ(LLVM)のメモリモデル

Reconclining high-level optimization and low-level code in LLVM (https://dl.acm.org/doi/10.1145/3276495)

Lee, Hur, Jung, Liu, Regehr, Lopes.

  • 低レベル言語(C, C++, Rust)のコンパイラのメモリモデルには二つの相反する目標がある
    • high-level optimization
      • 最適化したい
      • 例:
@AlainODea
AlainODea / HelloCovariance.java
Last active Mar 13, 2021
Exception in thread "main" java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
View HelloCovariance.java
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class HelloCovariance {
public static void main(String[] args) {
ConcurrentHashMap<String, String> properties = new ConcurrentHashMap<>();
Set<String> keySet = properties.keySet();
}
}
@mattn
mattn / README.md
Last active Jun 18, 2021
blacklist/whitelist master/slave に関する情報集め
View README.md

blacklist/whitelist master/slave に関する情報集め

blacklist/whitelist、master/slave という単語は相応しくないという意見に OSS がどの様に対応すべきかを自身で考える為の情報集めです。見つけ次第、逐次更新していきます。

僕(mattn) 自身は black lives matter に同意をしています。blacklist/whitelist、master/slave という単語を廃止する事が、歴史的背景を持たない文化圏では特定の意味を持たなかった為、個人的には若干思う所はありますが、廃止自身に反対するつもりはありません。

昔から、主副を表す物には master/slave という単語が使われてきました。ハードディスクの IDE、仮想端末(pty)、色々あります。またネットワークの IP フィルタリングに関しては blacklist/whitelist と表記した物が今でも沢山あります。

我々日本人が意識せずに使っていた blacklist/whitelist、master/slave という単語が、人々にどの様に影響しうるのか、今後 OSS としてどの様に関わっていけば良いかを理解する上で、自分なりの情報集めをしたいと思っています。

@ksasao
ksasao / detect_marker.py
Last active Jul 18, 2021
ZOZOSUITのマーカーのIDを読み取るコードです。公開されている画像を元に独自に解析しているので、公式ではこのように処理しているかどうかは不明です。仕様等については https://twitter.com/ksasao/status/990779583682170881 のスレッドも参照してください。全身を読み取るコード https://twitter.com/ksasao/status/989842844243279872 ライセンスは Apache License 2.0 です。
View detect_marker.py
import numpy as np
import random
import math
import cv2
from PIL import Image
import sys
def detect_markers(im):
markers = []
# 輪郭線抽出のための二値化
View obstruction-free
wait-free/lock-free/obstruction-freeの定義について
▲全てに共通する概念
スレッドが他のスレッドの進行を禁止する事がないので、どれかのスレッドが
ロックを確保したままプリエンプションなどで全体の処理が停止する事態が発生しな
い。
これは必ずしもロックベースのアルゴリズムより高速であることを意味し
ない(現にロックの方が早い場合もある
wait-freeが一番強い条件で、それを弱める度に
@ksasao
ksasao / KairuPlayCommand.txt
Last active Aug 21, 2021
Office のイルカことカイル(Kairu) のモーション一覧です。* 印はループモーションのため、停止するには Stop を送る必要があります。https://blogs.technet.microsoft.com/junichia/2009/12/14/powershell-com-windows-7-msagent/ にある Play() の中身の文字列に相当します( * は不要ですので省略してください)。
View KairuPlayCommand.txt
# MS Agent
# https://msdn.microsoft.com/en-us/library/ms695784(v=vs.85).aspx
# Animation Lists for the Characters Available from Microsoft
# https://msdn.microsoft.com/en-us/library/ms695821(v=vs.85).aspx
Alert
CheckingSomething *
Congratulate
DeepIdle1
EmptyTrash
Explain
@Kestrer
Kestrer / how-to-write-hygienic-macros.md
Created Oct 17, 2020
A guide on how to write hygienic Rust macros
View how-to-write-hygienic-macros.md

How to Write Hygienic Rust Macros

Macro hygiene is the concept of macros that work in all contexts; they don't affect and aren't affected by anything around them. Ideally all macros would be fully hygienic, but there are lots of pitfalls and traps that make it all too easy to accidentally write unhygienic macros. This guide attempts to provide a comprehensive resource for writing the most hygienic macros.

Understanding the Module System

First, a little aside on the details of Rust's module system, and specifically paths; it is

@MattPD
MattPD / cpp.std.coroutines.draft.md
Last active Oct 21, 2021
C++ links: Coroutines (WIP draft)
View cpp.std.coroutines.draft.md
@hay
hay / gist:1351230
Created Nov 9, 2011
Enterprisify your Java Class Names!
View gist:1351230
<!doctype html>
<html>
<head>
<title></title>
<style>
body {
background: white;
text-align: center;
padding: 20px;
font-family: Georgia, serif;