网灵机器人

2017年5月24日 由 Amon 没有评论 »

参考:http://www.wangling-tech.com/bbs/forum.php?mod=viewthread&tid=1053&extra=page%3D1
参考:http://www.guokr.com/post/707860/

如果你想DIY组装一个网灵机器人,而手头又没有现成的材料配件,可以从网灵采购成套的。

物理结构配件包:
https://item.taobao.com/item.htm … amp;id=524117265923

电子电路模块配件包:
https://item.taobao.com/item.htm … amp;id=524119046964

大容量12V 3000mAh 大容量可充锂电池:
https://item.taobao.com/item.htm … &_u=9b06dad359a

» 阅读更多: 网灵机器人

怎样编译安装GnuTLS 3.5.11

2017年5月9日 由 Amon 没有评论 »

查看当前版本:

gnutls-cli -v

卸载低版本:

如果有通过yum/rpm安装的gnutls,需要先卸载:

rpm -e --nodeps gnutls
rpm -e --nodeps gnutls-devel

通过源码包编译安装:

最新版本:GnuTLS 3.5.11 (2017-04-7)
实证通过:GnuTLS 3.5.11

官网:http://gnutls.org/
下载:http://gnutls.org/download.html

参考:http://gnutls.org/manual/gnutls.html
参考:http://linuxfromscratch.org/blfs/view/svn/postlfs/gnutls.html (GnuTLS-3.5.11)

安装nettle:https://amon.org/nettle
安装p11-kit:https://amon.org/p11-kit
安装libasn1:https://amon.org/libtasn1
安装libgmp:https://amon.org/gmplib

wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-3.5.11.tar.xz && xz -d gnutls-3.5.11.tar.xz && tar -xvf gnutls-3.5.11.tar && cd gnutls-3.5.11
export NETTLE_CFLAGS="-I/usr/include/nettle" NETTLE_LIBS="-L/usr/lib64 -lnettle" HOGWEED_CFLAGS="-I/usr/include/nettle" HOGWEED_LIBS="-L/usr/lib64 -lhogweed" P11_KIT_CFLAGS="-I/usr/include/p11-kit-1/p11-kit" P11_KIT_LIBS="-L/usr/lib -lp11-kit" LIBTASN1_CFLAGS="-I/usr/include" LIBTASN1_LIBS="-L/usr/lib -ltasn1" GMP_CFLAGS="-I/usr/local/include" GMP_LIBS="-L/usr/local/lib -lgmp"
./configure --prefix=/usr --with-default-trust-store-file=/etc/ssl/ca-bundle.crt --enable-gtk-doc --enable-openssl-compatibility --enable-local-libopts --with-included-unistring

配置信息:

configure: summary of build options:

  version:              3.5.11 shared 44:2:14
  Host/Target system:   x86_64-pc-linux-gnu
  Build system:         x86_64-pc-linux-gnu
  Install prefix:       /usr
  Compiler:             gcc -std=gnu99
  Valgrind:             no
  CFlags:               -g -O2
  Library types:        Shared=yes, Static=no
  Local libopts:        yes
  Local libtasn1:       no
  Local unistring:      yes
  Use nettle-mini:      no
  Documentation:        yes (manpages: yes)

configure: External hardware support:

  /dev/crypto:          no
  Hardware accel:       x86-64
  Padlock accel:        yes
  Random gen. variant:  auto-detect
  PKCS#11 support:      yes
  TPM support:          yes

configure:
  TPM library:          /usr/lib64/libtspi.so.1

configure: Optional features:
(note that included applications might not compile properly
if features are disabled)

  SSL3.0 support:       yes
  SSL2.0 client hello:  yes
  DTLS-SRTP support:    yes
  ALPN support:         yes
  OCSP support:         yes
  Ses. ticket support:  yes
  OpenPGP support:      yes
  SRP support:          yes
  PSK support:          yes
  DHE support:          yes
  ECDHE support:        yes
  Anon auth support:    yes
  Heartbeat support:    yes
  IDNA support:         IDNA 2003 (libidn)
  Self checks:          no
  Non-SuiteB curves:    yes
  FIPS140 mode:         no

configure: Optional libraries:

  Guile wrappers:       yes
  C++ library:          yes
  DANE library:         yes
  OpenSSL compat:       yes

configure: System files:

  Trust store pkcs11:
  Trust store dir:
  Trust store file:     /etc/ssl/ca-bundle.crt
  Blacklist file:
  CRL file:
  Priority file:        /etc/gnutls/default-priorities
  DNSSEC root key file: /var/lib/unbound/root.key

然后make:

make

报错:

./../pkcs11_int.h:27:28: fatal error: p11-kit/pkcs11.h: No such file or directory
 #include <p11-kit/pkcs11.h>

没找到文件,那就复制过来:

cp -R /usr/include/p11-kit-1/p11-kit /root/gnutls-3.5.11/lib/p11-kit

重新 make 通过,继续 make install :

make install

输出:

...
Libraries have been installed in:
   /usr/lib
...
Libraries have been installed in:
   /usr/lib/guile/2.0
...
make[1]: Leaving directory `/root/sni/gnutls-3.5.8'

更新系统动态连接库配置:

echo /usr/lib >> /etc/ld.so.conf && ldconfig

编译安装完成。

相关路径:

/usr/include/gnutls/gnutls.h
/usr/lib/libgnutls.so.30.8.1

注意:需要重新编译mod_gnutls才能在Apache中使新版本生效。

参考:https://amon.org/mod_gnutls

查看版本

查看版本(shell):

gnutls-cli -v

输出:

gnutls-cli 3.5.11
Copyright (C) 2000-2017 Free Software Foundation, and others, all rights reserved.
This is free software. It is licensed for use, modification and
redistribution under the terms of the GNU General Public License,
version 3 or later <http://gnu.org/licenses/gpl.html>


Please send bug reports to:  <bugs@gnutls.org>

报错:p11_kit_uri_get_pin_value

../lib/.libs/libgnutls.so: undefined reference to `p11_kit_uri_get_pin_value'

You are compiling with a newer library than the one you are linking with.
Most likely you have both versions of the libraries available but your
flags to linker are not correct.

因为系统中存在2个版本的p11-kit,而并不支持高版本gnutls的低版本p11-kit被使用。所以,需要移除低版本,然后编译安装高版本p11-kit。

参考:https://amon.org/p11-kit

报错:sys_getrandom

在make时报错,探讨解决办法:https://amon.org/sys_getrandom ,暂无解决办法。

git方式编译安装:

实证未遂。

下载:https://gitlab.com/gnutls/gnutls

安装依赖包:

yum install git autoconf libtool automake autogen autogen-libopts-devel trousers-devel guile-devel libidn-devel gawk gperf git2cl libtasn1-tools unbound-devel help2man gtk-doc texinfo texlive valgrind libasan libasan-static libubsan nodejs softhsm datefudge lcov dieharder mbedtls-utils abi-compliance-checker libcmocka-devel socat

开始编译:

git clone https://gitlab.com/gnutls/gnutls.git && cd gnutls
git submodule update --init
autoreconf -i && automake && autoconf
export NETTLE_CFLAGS="-I/usr/include/nettle" NETTLE_LIBS="-L/usr/lib64 -lnettle" HOGWEED_CFLAGS="-I/usr/include/nettle" HOGWEED_LIBS="-L/usr/lib64 -lhogweed" P11_KIT_CFLAGS="-I/usr/include/p11-kit-1/p11-kit" P11_KIT_LIBS="-L/usr/lib -lp11-kit" LIBTASN1_CFLAGS="-I/usr/include" LIBTASN1_LIBS="-L/usr/lib -ltasn1" GMP_CFLAGS="-I/usr/local/include" GMP_LIBS="-L/usr/local/lib -lgmp"
./configure --prefix=/usr --with-default-trust-store-file=/etc/ssl/ca-bundle.crt --enable-gtk-doc --enable-openssl-compatibility --enable-local-libopts
make bootstrap
make
make check
make install

报错:asn1_der_decoding2

In file included from common.c:34:0:
./common.h: In function '_asn1_strict_der_decode':
./common.h:259:2: warning: implicit declaration of function 'asn1_der_decoding2' [-Wimplicit-function-declaration]

重新编译libtasn1。

参考:https://amon.org/libtasn1

报错:sha256_ctx

struct sha256_ctx' has no member named 'count'

参考:https://dev.openwrt.org/changeset/41263

重新编译nettle。

参考:https://amon.org/nettle

报错:pkcs11_int.h

./../pkcs11_int.h:27:28: fatal error: p11-kit/pkcs11.h: No such file or directory
 #include <p11-kit/pkcs11.h>

缺少还是没找到,那就复制过来:

cp -R /usr/include/p11-kit-1/p11-kit /root/gnutls/lib/p11-kit

事实证明这种方案可行。

参考:http://www.gnutls.org/manual/html_node/gnutls_002dcli-Invocation.html

参考资料:

参考:https://www.painso.com/ocserv-install-usage
参考:http://zkxtom365.blogspot.com/2015/02/centos-65ocservcisco-anyconnect

参考:http://blog.csdn.net/tanogut/article/details/7836545
参考:http://www.cnblogs.com/siikee/p/4272104
参考:http://lists.gnutls.org/pipermail/gnutls-help/2013-May/003136
参考:http://linux.debian.bugs.rc.narkive.com/9Z5rQcJT/bug-782078-info-received-additional-info-probably-caused-by-evolution-mapi
参考:https://github.com/rdp/ffmpeg-windows-build-helpers/issues/513573192551

【软件】AntConc 词频统计分析软件

2017年5月4日 由 Amon 没有评论 »

【介绍】

AntConc: A freeware corpus analysis toolkit for concordancing and text analysis.

最新版本:Windows (3.4.4)

官网:http://www.laurenceanthony.net/software/antconc/
讨论:https://www.zhihu.com/question/31320540

中文手册:http://www.laurenceanthony.net/software/antconc/resources/help_AntConc321_chinese.pdf

下载:https://pan.baidu.com/s/1qYpj5Xq 密码: 66b4

链接里有软件本体和单词原型表;每次用的时候都要重新加载原型表。

软件包含7个工具(tool):

  1. Concordance Tool(索引工具):用于查找某个关键词出现时的具体文本。内容显示在KWIC中,代表KeyWord In Context。表示这个关键词在文本中是如何被使用的。
  2. Concordance Plot Tool(索引节点工具):关键词在全部文本中的出现的分布图。
  3. File View Tool(文件浏览工具):在整个文本中显示关键词。你可以从整个文本的角度,更加全面的了解某词的使用情况。
  4. Clusters/N-Grams(簇):了解关键词其后词的搭配情况。Collocates(搭配):跟clusters是配合用的。它统计了这个词有多少次是跟哪个单词搭配的。
  5. Word List(语汇列表):统计整个文本有多少字数,使用了多少词汇,依照出现次数排序。这样,你就可以知道哪些是高频词。
  6. Keyword List(关键词列表):

【实例】

北极狐<曾经用AntConc统计了《哈利波特》七部的词汇情况。

《哈利波特》一共7部,总字数是112万多。使用单词词汇量是15500左右。
频率最高的前100个词汇,就占字63万。(在这100个词里,除了6个人名:哈利,罗恩,赫敏,邓布利多,海格,斯内普,每个咱们初中都学过。)
频率最高的前1000个词汇,占字96万。
频率最高的前3000个词汇,占字106万。
也就是说,3000个单词,就占全书的94.6%。
在这一共15500左右的词汇中,其中4841个词汇在这7部书里只出现过一次。

怎么样提取《哈利波特》七部的生词呢?

  1. 准备有一份非生词的词汇表
  2. 将《哈利波特》七部的15500左右单词用AntConc导出。
  3. 将两个词汇表放入 Excel。用 vlookup 函数就可以统计出来:=VLOOKUP(E1,A:B,2,FALSE) 。A 列放过已知词汇表;B 列加个标注。E 列放入需要统计的词汇表。F 列输入公式,双击单元格,公式自动下拉。然后,你就看到结果了。E列中凡是你认识的单词,在F列都会出现对应的“我知”标注。#N/A 就是你的生词。

【同类工具】

爱英阅(iYingYue)

官网:http://www.sixue.info/iyingyue/

VocabularyAnalyzer

官网:http://tools.eflclub.me/VocabularyAnalyzer

TreeTagger

官网:http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/
介绍:http://www.cnblogs.com/kaituorensheng/p/3437807.html

怎样开启Dedecms的小说模块

2017年4月26日 由 Amon 没有评论 »

1. 介绍

演示:http://v57.demo.dedecms.com/book

2. 启用

演示:http://v57.demo.dedecms.com/book

修改权限为777:

/templets/plus

» 阅读更多: 怎样开启Dedecms的小说模块

工具:MySQLConverterTool

2017年4月25日 由 Amon 没有评论 »

官网:https://github.com/philip/MySQLConverterTool

讨论:http://stackoverflow.com/questions/1390607/how-could-i-change-this-mysql-to-mysqli

参考:https://lists.mysql.com/announce/400

The MySQL ext/mysqli Converter Tool is a collection of PHP scripts that help you upgrade PHP applications using the old PHP mysql extensions to using the newer PHP mysqli extension.