Skip to content

Instantly share code, notes, and snippets.

View nkoneko's full-sized avatar

Nekomura, Koneko nkoneko

  • Tokyo
View GitHub Profile
def gf_mul(a, b):
result = 0
while b:
if b & 1:
result ^= a
a <<= 1
if a & 0x100:
a ^= 0x11b
b >>= 1
return result
@nkoneko
nkoneko / introduction_to_perl.md
Last active March 14, 2024 23:02
Perlは今でも進化を続けている言語だが、とはいえ現実にレガシーなコード以外ではなかなかお目にかかれない。昔書かれたPerlのコードを読み解き、メンテするのは気が重い。そんなレガシー...古代言語のPerlを読むための確かな知識を獲得するための入門文書がこれだ

古代言語Perl入門

文法を完全に理解しよう

文字列

二重引用符(ダブルクォート " )と引用符(クォート ' )はどちらも文字列のリテラルを表すのに利用できます。これらの違いを説明します。

@nkoneko
nkoneko / NumPy-PCA.ipynb
Last active February 14, 2024 12:38
素のNumPyで (scikit-learnなど使わずに) 主成分分析 (ongoing)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Action<T>の関数ポインターにブレークポイントを張りたい...
Il2CppDumperをかけてみた。
// Namespace: System
public sealed class Action`1 : MulticastDelegate // TypeDefIndex: 139
{
// Methods
public void .ctor(object object, IntPtr method); // RVA: 0x101166128 Offset: 0x1166128
public virtual void Invoke(T obj); // RVA: 0x101166138 Offset: 0x1166138
public virtual IAsyncResult BeginInvoke(T obj, AsyncCallback callback, object object); // RVA: 0x101162F50 Offset: 0x1162F50

Keybase proof

I hereby claim:

  • I am nkoneko on github.
  • I am nkoneko (https://keybase.io/nkoneko) on keybase.
  • I have a public key ASAhz2IXdewhiiw7odFnh3GOB4PYKUlJh2xQH_YbjTaougo

To claim this, I am signing this object:

@nkoneko
nkoneko / 0_introduction-to-c-programming.md
Last active June 15, 2023 07:49
ひどいC言語、楽しく壊そう

素行の悪いCプログラミング入門

世の中にはひどい人もいたものである。素行の悪いCプログラマーがどのようなコードを書くか、その邪悪さの片鱗をご覧にいれようと思う。

未初期化変数の使用

言うまでもなく、初期化していない変数を参照外し (dereference) するのは「未定義の動作」を引き起こすため良くないことである。正しいCプログラマーはそんなことをしてはならない。

CERT Cコーディングスタンダードはもとより、未定義や実装定義の部分を排除するMISRA Cでも初期化していない変数を読み込んではならないとしている。

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <mach/port.h>
#include <mach/mach.h>
#include <mach/vm_region.h>
#include <mach/vm_map.h>
#include <chrono>
#include <thread>
@nkoneko
nkoneko / hello.cpp
Last active December 18, 2020 05:27
入門記事のコード
#include <iostream>
int main() {
std::cout << "Hello World!\n";
}
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/event.h>
#include <ctype.h>
struct ReaderState {
int initialized;
int isInStr;
function BloomFilter(bitSet, filterSize, numHashes) {
if (!!filterSize && !!numHashes) {
if (!bitSet) {
var numBins = filterSize / 32;
this._bitSet = new Array(numBins);
var i;
for (i = 0; i < numBins; i++) {
this._bitSet[i] = 0;
}
} else {