Skip to content

Instantly share code, notes, and snippets.

View tsuyoshicho's full-sized avatar

Tsuyoshi CHO tsuyoshicho

View GitHub Profile
@lxhunter
lxhunter / semver.sh
Last active July 8, 2022 19:12
Automated semantic versioning for travis-ci or any other ci
#!/bin/bash
export SEMVER_LAST_TAG=$(git describe --abbrev=0 --tags 2>/dev/null)
export SEMVER_RELEASE_LEVEL=$(git log --oneline -1 --pretty=%B | cat | tr -d '\n' | cut -d "[" -f2 | cut -d "]" -f1)
#curl -o /tmp/hub.tgz https://github.com/github/hub/releases/download/v2.2.9/hub-linux-arm64-2.2.9.tgz
#tar -xvzf /tmp/hub.tgz -C /tmp
if [ -z $SEMVER_LAST_TAG ]; then
>&2 echo "No tags defined"

MIPSのABIは変だという話をこないだのシステムプログラミング会でしたら、ややザワッとしたので、なにがおかしいのかというのをちょっとまとめてみました。まとめてみて思いましたが、やっぱりMIPSのELFファイルはちょっと変です。

謎のmixed endianフィールド

これが僕は一番ひどいと思ったものです。

ファイルにマルチバイトの数値を保存するときはエンディアンというものが問題になります。たとえば0xBEEFという2バイトの数を保存するときは、1バイト目にBE、2バイト目にEFを書くか、逆順で書くかは、ただの決まり事でどっちでもいいわけですが、書く側と読む側で認識があっていないと困ります。世の中的にはリトルエンディアン(下位バイトから書く)のが主流ですがビッグエンディアンなシステムもあります。

それがですね、MIPSのELFヘッダのr_infoという64ビットのフィールドはリトルエンディアンでもビッグエンディアンでもない謎なエンコーディングになっています。具体的には下位32ビットが最初にリトルエンディアンで書かれていて、ビッグエンディアンでエンコードされた上位32ビットがそれに続くという構成になっています。つまりリトルエンディアンだとABCD EFGH、ビッグエンディアンだとHGFE DCBAとなるところが、MIPSのmixed endianだとEFGH DCBAというふうにファイルに書かれていることになります。

@Hamayama
Hamayama / 1007_MinGW64_Install.md
Last active April 29, 2025 02:43
MSYS2/MinGW-w64 (64bit/32bit) インストール手順 メモ

MSYS2/MinGW-w64 (64bit/32bit) インストール手順 メモ

  • 自分がインストールしたとき (2022年9月) の参考用のメモです。
    (情報が古くなっている可能性があります)
  1. MSYS2 のページ
    https://msys2.github.io/
    から、MSYS2 のインストーラ ( msys2-x86_64-20220904.exe ) を取得して実行します。
    (注意:32bit 版のインストーラは、提供されなくなりました。

ccx01 linuxbrew インストールメモ

概要

某湘南藤沢の大学の計算サーバはあまりにパッケージが古いため、linuxbrewをインストールして人権を手に入れる。

rbenvを使ってRubyの環境構築

linuxbrewをインストール使用にもRuby 1.8.3しか入っていないため、Linuxbrewを使うために、rbenvを使って新しいRubyを使う。

rbenvのインストール

@steinwaywhw
steinwaywhw / One Liner to Download the Latest Release from Github Repo.md
Last active May 16, 2025 13:34
One Liner to Download the Latest Release from Github Repo
  • Use curl to get the JSON response for the latest release
  • Use grep to find the line containing file URL
  • Use cut and tr to extract the URL
  • Use wget to download it
curl -s https://api.github.com/repos/jgm/pandoc/releases/latest \
| grep "browser_download_url.*deb" \
| cut -d : -f 2,3 \
| tr -d \" \
@khsk
khsk / file1.js
Last active April 18, 2019 03:40
はてなのシロクマを屑籠に放り込むユーザースクリプト ref: http://qiita.com/khsk/items/0cb47046d1721099c729
B.RegistReminder = {
count: function () {
if (B.user) {
B.cookie.clear('vcount');
} else {
var vcount = B.cookie.get('vcount');
vcount = vcount ? ++vcount : 1;
B.cookie.set('vcount', vcount , '+10y');
if (vcount % 40 == 0) {
@kaho2063
kaho2063 / index.sh
Last active November 16, 2019 05:10
このsh以下にあるMarkdownファイルのリスト一覧リンクREADME.mdを作るためのシェルスクリプト。フォルダも6階層まで対応。ライセンスはNYSL(http://www.kmonos.net/nysl/ )です。
#!/bin/bash
# README.mdというファイルに単純にechoしているため、既にREADME.mdがあった場合内容が削除される 注意
echo -e "**Index**\n\n" >README.md
# フォルダが多くなると飛ぶのが面倒なので、[TOC]追加
# TOCに対応していない場合などは考慮していない
echo -e "[TOC]\n\n---" >>README.md
# ファイルへのリンク部分を出力する関数
# $1が検索フォルダ指定
@lukas-h
lukas-h / license-badges.md
Last active May 5, 2025 20:19
Markdown License Badges for your Project

Markdown License badges

Collection of License badges for your Project's README file.
This list includes the most common open source and open data licenses.
Easily copy and paste the code under the badges into your Markdown files.

Notes

  • The badges do not fully replace the license informations for your projects, they are only emblems for the README, that the user can see the License at first glance.

Translations: (No guarantee that the translations are up-to-date)

@matsubara0507
matsubara0507 / makeSlideUsingMarkdown.md
Last active November 26, 2019 04:43
Pandoc + reveal.jsでMarkdownによるスライド作成 in Windows

Pandoc + reveal.jsでMarkdownによるスライド作成

概要

Pandoc + reveal.jsでMarkdownによるスライド作成をWindowsで行えるようにするまでの環境づくりの手順。
と、イロイロといじったのでそれをメモしておく。

いきさつ

Markdownでサクッとスライドが作れるといいなーと思って昨年ぐらいより Pandoc + reveal.js を使い始めた。
PCを新しくしたついでに環境をイロイロ整え直したので、それをメモしておこーかなと。