遥测未来

未来将只剩下两种行业:创造性行业,敢死队行业
创造性行业: 以泛程序员为主体的,给所有问题创造出自动化智能化解决方案的人员
敢死队行业: 所有还未给出自动化解决方案的行业从业人员

人工智能的时代来临

计算机的计算能力已经开始逼近图灵所预言的人工智能基础线,人工智能将在之后的几年内诞生。
就像之前的所有研究一样,基于元孢机思想的神经网络正在成为人工智能的核心解决方案。
以神经网络为黑盒模型的人工智能正在开始萌芽。之后,将在某一个时间点出现一种这样的人工智能核心,只要给予足够的计算量和适当的外设传感器及对外控制器,就可以以人类无法解释的方式运行并以同人类一样的方式自主学习并自动完成特定问题。

437-2

能用钱解决的问题都不是问题
然而能用钱解决的问题只是所有要解决的问题中的非常小的一个部分
还有那么多问题是不可能用钱来解决的
并且多少问题只要解决了就能有源源不断的钱自己来到你的怀里
所以为什么还要为需要花一点点钱的问题而烦恼呢

Erlang启动脚本

Erlang可以直接使用一个beam文件作为启动脚本
参见:https://stackoverflow.com/questions/1865997/erlang-startup-script

使用

1
erl -boot start_sasl -s XYZ_app start

即可在启动时启动sasl并执行XYZ_app的start函数
在start函数中执行一些无法在erl参数中执行的指令即可
比如ping指令、先行库启动指令,等等
而可以放在erl参数中的有detached、setcookie、name/sname、pa/pz、daemon、boot

注意:escript不能作为先行启动脚本使用,因为escript执行完后会直接退出虚拟机而不会等待程序继续执行

树莓派archlinux移动硬盘搭建网络存储

树莓派2B 旧希捷500G移动硬盘 archlinux(2015-10-25) sambantfs-3g 参考资料: https://wiki.archlinux.org/index.php/Samba_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29 https://wiki.archlinux.org/index.php/NTFS-3G_(简体中文) https://wiki.archlinux.org/index.php/NTFS-3G ntfs-3g库实现了ntfs分区的读写 samba实现windows版的smb局域网共享 关键: 需要写权限的目录必须要设置目录权限1770身份权限root:sambashare

groupadd sambashare
chown root:sambashare <共享目录>
chmod 1770 <共享目录>

如此才能够让sambashare用户组中的用户获得对此目录的读取执行写入权限 添加用户的方法: 先添加一个系统用户 再设置其的samba密码即可

useradd
pdbedit -a -u

每次修改samba配置文件之后不要忘记用命令testparm检查配置文件正确性 设置自动挂载分区只要在/etc/fstab中添加条目即可 例如:

/dev/设备 /mnt/载点 ntfs-3g gid=users,dmask=022,fmask=133 0 0

  另: 树莓派USB口供电不足,所以挂载移动硬盘需要独立供电或者使用三口USB线从外部取电或者使用自带供电的USBHub 并且,树莓派的网卡口和USB口都是从一个USB口扩展出来的,所以性能不会有多快,测试读写大概稳定在10MB/s

搭建git服务器

参照:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

安装git

创建git用户

1
adduser -m git

将用户公钥放入/home/git/.ssh/authorized_keys文件中一行一个
之后用户即可使用密钥方式登录git仓库
这时可以初始化git仓库

先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令初始化

1
git init --bare sample.git

然后设置文件夹用户为git【注意这里设置git用户的shell为git-shell有可能无法使用】

1
chown -R git:git sample.git

之后如使用smartGit可以用下面的路径添加远程库

1
ssh://git@服务器地址:服务器端口/srv/sample.git

 


ssh key 生成方法:

在git shell中执行

1
ssh-keygen -t rsa -C "[email protected]"

按说明创建即可

手动添加key到本地使用

1
ssh-add ~/.ssh/私钥文件.ppk

若提示Could not open a connection to your authentication agent.则使用以下命令启动ssh-agent

1
eval `ssh-agent -s`

若本地多key共存,可以在文件中如下指定key对应的服务器

1
2
3
4
5
Host 服务器地址
port 服务器端口
HostName 服务器地址
PreferredAuthentications publickey
IdentityFile ~/.ssh/私钥文件.ppk

恋爱家庭教师露露美★Coordinate!游戏原声文件.NWA读取办法

参照:http://www.keyfc.net/bbs/showtopic-8664.aspx

REALLIVE系列引擎中BGM(*.NWA)文件的提取方法

正常状态下NWA文件是带有特殊头信息的PCM格式

一种解法是直接放入音频编辑软件,去除开头杂音后保存

另一种是foobar2000安装插件foo_adpcm直接读取.

http://kode54.foobar2000.org/
http://kode54.foobar2000.org/?v

foo_adpcm
144.1 KB
2013-08-13 03:04:24
Supports CRI ADX, my own BRR format based on Sony SPC-700 and PSX ADPCM, everything from in_cube (DSP, GCM, HPS, IDSP, SPT/SPD, MSS, ADP), EA MUS/ASF and MAP files, a host of formats from foo_okiapcm/libpcm (Circus-XPCM sample files (and also ADPCM files from the Saturn version of Symphony of the Night / Dracula X: Nocturne in the Moonlight) (.PCM), Konami-Gungage-XA sample files (.8), KID-WAF sample files (.WAF), BasiL-WPD sample files (.WPD), TamaSoft-MPF sample files (.MPF), StudioMiris-WDT sample files (.WDT), Hayashigumi-KWF sample files (.KWF), VisualArts-NWA sample files (.NWA), jANIS-PX sample files (.PX), CLOVER-BW sample files (.BW)), RAC IMA-ADPCM files from Star Trek: The Next Generation – A Final Unity PC game, and XA ADPCM files from various games. Whew.

在git中使用GPG给tag签名的方法

平台:windows
git:官版 git
gui:smartgit
GPG:gungpg

gungpg默认key存储位置在c:\Users\<用户名>\AppData\Roaming\gnupg\

而git默认访问位置在c:\Users\<用户名>\.gnupg\

所以需要使用mklink创建链接从实际位置指向git访问位置

script
1
mklink /D c:\Users\<用户名>\.gnupg c:\Users\<用户名>\AppData\Roaming\gnupg

git默认使用的签名是与用户名和邮箱对应的签名
可以在库(repository)的.git目录下的配置文件(config)中添加如下内容指定KEY-ID

1
2
[user]
signingkey = <gpg-key-id>

这个方法对多个KEY同样有效 或者可以设置全局KEY-ID

script
1
git config --global user.signingkey <gpg-key-id>

打tag的命令:

script
1
git tag -s <tagname> -m "<tagmessage>" <commitSHA1-id>

另外 也可以使用-u参数指定特定提交使用的KEY-ID

script
1
git tag -u <KEY-ID> -s <tagname> -m "<tagmessage>" <commit-id>

完成后用如下指令可以查看结果

script
1
git show <tagname>

验证tag签名的方法

script
1
git tag -v <tagname>

同样可以签署commit

script
1
git commit -a -S -m "<tagmessage>"

在 Git 1.8.3 及以后的版本中,“git merge” 与“git pull” 可以使用--verify-signatures选项来检查并拒绝没有携带可信 GPG 签名的提交。
如果使用这个选项来合并一个包含未签名或有效的提交的分支时,合并不会生效。

script
1
git merge --verify-signatures non-verify

也可在merge签名

script
1
git merge --verify-signatures -S signed-branch

参考:

git help tag
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001376951758572072ce1dc172b4178b910d31bc7521ee4000 https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E7%AD%BE%E7%BD%B2%E5%B7%A5%E4%BD%9C https://airk000.github.io/git/2013/09/30/git-tag-with-gpg-key
另外是一个签名的“幽默故事” http://www.oschina.net/translate/git-horror-story