英語初学者にお勧めの本・アプリ

友人に向けたメモ。

自分が実際に使用した教材の紹介。

上に行くほど基礎、下に行くほど応用・実践。
内容は増えていくかも。

iKnow!

iKnow!

単語、リスニング

TOEIC 文法

TOEIC文法 急所総攻撃

TOEIC文法 急所総攻撃

TOEIC文法 鉄則大攻略

TOEIC文法 鉄則大攻略

文法

English Zone

English Zone No.1 ― 英語が私を強くする!

English Zone No.1 ― 英語が私を強くする!

リーディング、リスニング


英語耳

英語耳[改訂・新CD版] 発音ができるとリスニングができる

英語耳[改訂・新CD版] 発音ができるとリスニングができる

リスニング、発音

究極の英語学習法K/H System

究極の英語学習法K/H System (入門編)

究極の英語学習法K/H System (入門編)

リスニング、スピーキング、発音

どんどん話すための瞬間英作文トレーニン

どんどん話すための瞬間英作文トレーニング (CD BOOK)

どんどん話すための瞬間英作文トレーニング (CD BOOK)

スピーキング

Lang-8

Lang-8

ライティング、リーディング

レアジョブ

レアジョブ

スピーキング、リスニング

THREE.MMDLoaderの解説を「初めてのThree.js 第2版」に寄稿しました

Learning Three.js 2nd edition の和訳書「初めてのThree.js 第2版」にTHREE.MMDLoaderの基本的な使い方の解説を巻末付録として寄稿しました。

I contributed an article about how to use THREE.MMDLoader to the book "Hajimete-no Three.js 2nd edition" which is Japanese translation of Learning Three.js 2nd edition.

初めてのThree.js 第2版 ―WebGLのためのJavaScript 3Dライブラリ

初めてのThree.js 第2版 ―WebGLのためのJavaScript 3Dライブラリ

発売された暁にはぜひ書店でお手に取ってみてください。

I'd be pleased if you'd buy :D

MMDLoader will be in Three.js r74

THREE.MMDLoader which I've been developing will be available in Three.js r74. It was already merged into r74 dev.

https://github.com/mrdoob/three.js/pull/7687

MMDLoader enables you to use MMD data on browser with Three.js.

Demo:


Source code:


D
D

(MMD Editor in the video is just WIP yet)



Note that MMDLoader isn't perfect yet and some models won't work correctly. Give me your feedback if you run into any problems on it.

Real-Time 3D CG model dancing with music sync by JavaScript and WebGL

Introduction

I made a web app which lets MMD(3D CG animation tool) model dance with music sync on your chrome.

It's implemented from kinda scratch with JavaScript and WebGL.

(I mean I don't use any 3D CG libraries like Three.js though I use some libraries for Physics, Matrix, and Video generation.)

Video and snapshot

3D CG model dances with music sync on chrome.

D


Dynamic video generation.

D





features

  • works on chrome
  • fast rendering with WebGL
  • 3D CG model dance
  • music sync
  • Physics support
  • dynamic video file generation
  • no 3D CG library like Three.js

My MMD viewer on chrome supports Physics

source codes

My source code https://github.com/takahirox/mmd-viewer-js/ messed yet tho.

I use Ammo.js(https://github.com/kripken/ammo.js/) for physics.

video and snapshots

D



I'm studying physics engine itself with this book.

Game Physics Engine Development: How to Build a Robust Commercial-Grade Physics Engine for your Game

Game Physics Engine Development: How to Build a Robust Commercial-Grade Physics Engine for your Game

Memo: How to build OpenBSD from source code and add system call on QEMU

Introduction

Memorandum for myself. I just follow these three articles. Thanks dude.


Prolly This's the easiest way to try kernel hack.

I tried with OpenBSD 5.6

How to install OpenBSD on QEMU

#    on host
$ cd work
$ qemu-img create -f qcow2 ./obsd56.qcow2 20G
$ wget http://ftp5.usa.openbsd.org/pub/OpenBSD/5.6/i386/install56.iso
$ qemu-system-i386 -m 256M -net nic -net user -cdrom ./install56.iso ./obsd56.qcow2
#    install OpenBSD on QEMU
#    Then quit qemu once with the following commands
#    $ Ctrl-Alt-2
#    (qemu) quit

How to boot OpenBSD on QEMU

$ qemu-system-i386 -m 256M -net nic -net user ./obsd56.qcow2
#    boot OpenBSD on QEMU

How to get OpenBSD source code via ftp

#    on QEMU
$ cd /tmp
$ ftp ftp://ftp5.usa.openbsd.org/pub/OpenBSD/5.6/sys.tar.gz
$ cd /usr/src
$ tar xzf /tmp/sys.tar.gz

How to add a new system call

#    on QEMU
$ cd /usr/src/sys/kern
$ vi syscalls.master
#   modify "260" to the following line
#   260 STD { int sys_hello(void); }
$ make init_sysent.c
$ vi sys_hello.c
#   edit sys_hello.c as written below
$ cd ../conf
$ vi files
#   add the following line
#   file kern/sys_hello.c
/* /usr/src/sys/kern/sys_hello.c */
#include <sys/types.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>

int sys_hello(struct proc *p,
              void        *v,
              register_t  *retval) {
    printf("Hello World\n");
    return (0);
}

How to build OpenBSD from source code for debug

#    on QEMU
$ cd /usr/src/sys/arch/i386/conf
$ cp GENERIC DEBUG
$ vi DEBUG
#   add the following line
#   makeoptions DEBUG="-g"
$ config DEBUG
$ cd ../compile/DEBUG
$ make depend
$ COPTS="-O0" make
$ make install
$ reboot

make user program using the new system call

#    on QEMU
$ cd /tmp
$ vi main.c
#   edit main.c as written below
$ gcc main.c
$ ./a.out
Hello World
/* /tmp/main.c */
int main(int argc, char **argv) {
  syscall(260);
}

Etc. How to get OpenBSD source code via CVS

$ cd work
$ export CVSROOT=anoncvs@anoncvs1.usa.openbsd.org:/cvs
$ cvs -d$CVSROOT checkout -rOPENBSD_5_6 -P src