I'm Crhan linux(gentoo), perl, android

27二/121

ConTeXt 学习路线图

发布在 crhan

去年就决定一定要用 TeX 系统来编排我的毕设论文, 经过长期的资料收集整理和学习, 发现入门 TeX 没有想象中的那么复杂, 传说中原生支持 Unicode 的 ConTeXt 已经可以使用, 接下来只要掌握入门的知识, 然后参考 ConTeXt Wiki 上的 References 就可以顺畅的写文档啦.

路线图大概是这样:

  1. 序幕有点长 —— 了解 TeX 的历史
  2. 这就是 ConTeXt Minimals —— 安装最小化的 ConTeXt 环境
  3. 不仅仅为了中文zhfonts 模块的用法 —— 实现中文字体以及中文标点的处理优化
  4. ConTeXt an Excursion —— 官方入门文档, 读完就能对 ConTeXt 系统有一个全面的了解
  5. ConTeXt 学习笔记 By Li Yanrui —— 与第四条参照着看,有助于理解和扩展
  6. ConTeXt Wiki Reference —— 官方 Wiki 的命令 Refrences
26二/120

杭州天气的抓取(续)

发布在 crhan

自从上次搞定了那个 IE Only 的杭州气象网的整点天气数据后, 在 @xufan6 的协助下搞定了 RRD 的更新和图片的输出, 跑在家里的服务器上. 但是家里服务器略不稳定, 断网断电不可避免, 于是用 PHP 又把这个功能给实现了一遍, 放到了 SAE 上, 顺便也抓了湿度, 可见度, 气压数据, 实现了 JSON 的输出, 已期望二次利用, 但因为在忙毕设, 没有花心思做这个, 所以现在只有输出最近24小时的信息.

SAE 网址在这: 杭州"实时"气象数据

接着 @xufan6 帮忙搞了 RSS 输出,用 Feedburner 抓取后更新到 @hzqxsk 上,配合已有的 @hztqyb 一起参考,对杭州的出行和衣着还是有点帮助的

20一/120

丑陋的抓取杭州气象网的整点天气

发布在 crhan

很丑的实现了在屎一样的杭州气象网上抓取正点温度数据的命令..坐等 @xufan6 用这个收集数据, 然后把这些历史数据做成图片来看看杭州的气象趋势. 下面就直接给出命令, 欢迎直接粘贴尝试

<code>
curl "http://www.hzqx.com/gzhfw/qxsk.asp" -s | iconv -f gb2312 -t utf-8 -c | sed -e 's/&nbsp//g' -e 's/;//g' | grep -oP 'line_1.*line_2' | sed -e 's/v:line title=/\n/g' | perl -ne 'print "$1,$2,$3,$4\n" if /时间:(\d{1,2})时[#&\w&\d]*?温度:([\d.]*?)℃(?:[#&\w&\d]*?最低温度:([\d.]*?)℃)?(?:[#&\w&\d]*?最高温度:([\d.]*?)℃)?/'
</code>
打出的内容分别是: 时间,温度,最低温度,最高温度
后两项如果没有的话就留空
标签: 没有评论
2一/120

Lion 自动读写挂载 ntfs 分区

发布在 crhan

使用ntfs-3g替换macX原生的ntfs自动挂载程序, 实现macX自动挂载读写的ntfs分区, Lion测试可行.

需要以下准备:

  1. Xcode(软件中心下载)
  2. HomeBrew || MacPorts(未验证)
  3. 熟悉的文本编辑器一枚(我用macVim, 也可用HomeBrew安装)
  4. 终端一只(spotlight 搜索Terminal即可)

步骤

第一步 安装 HomeBrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

参考链接: https://github.com/mxcl/homebrew/wiki/installation

第二步 安装 ntfs-3g

标签: 继续阅读
26十二/114

搭建Girocco (git hosting solution from from repo.or.cz)

发布在 crhan

起因

由于学校社团的开发团队开始慢慢扩张, 为了避免自己被开发没日没夜的代码提交等问题困扰, 所以决定找一个好用一点的版本控制软件和代码托管的网站. 因为涉及的都是内部的代码, 再加上教育网到国外代码托管网站的速度太慢, 所以寻找部署一个开源解决方案就变的异常重要. 因为在 dvcs 里面我只会 git , 所以就选择了 git 作为了我们的版本控制软件. 最开始选择的Git代码托管方案是 Gitolite , 因为所有的权限控制都需要修改特殊版本库 ‘gitolite-admin’ , 所以第一次给所有人开设账号变得 非常麻烦 ( 比如先要普及关于公私钥对的知识等等 ). 在使用了一段时间之后, 还遇到了如下问题:

  • 用户随意建立的版本库无法自行删除 ( 似乎使用gitolite-adc可以解决,但是尚未尝试 )
  • 用户需要更新公钥时候必须麻烦管理员进行操作
  • gitweb界面不够美观

所以尝试寻找一些新的解决方案, 在 stackoverflow的帖子 里面选择了看起来最简单的 Girocco 进行尝试.

Giroccorepo.or.cz 采用的代码托管方案, 简单易用. Girocco介绍页面在此 . 在介绍中,他把自己与 Gitorious , Github , Gitosis & Gitolite 进行了对比, 称 GitoliteGitosis 根本不能算是一种 hosting solution, Gitorious 又不能体现 gitweb 的简约美, 而 Github 不开源.

经过

3十/110

Set up Time Machine Server on Gentoo for Lion

发布在 crhan

重点参考来源: http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/

Set up server on gentoo

# macOX 10.7 need netatalk-2.2.0 or above
echo 'net-fs/netatalk ~amd64' >> /etc/portage/package.keywords
emerge netatalk avahi
# Make folder `/opt/TimeMachie' a shared volumn to your mac.
# Option `tm' is important, which means this volumn is used by timemachine
echo '/opt/TimeMachine TimeMachine cnidscheme:dbd options:tm' >> /etc/netatalk/AppleVolumes.default
echo '- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword' >> /etc/netatalk/afpd.conf
cat << EOF >/etc/avahi/services/afpd.service
<!--?xml version="1.0" standalone='no'?--><!--*-nxml-*-->
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<!-- Customize this to get a different name for your server in the Finder. -->
<name replace-wildcards="yes">%h</name>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<!-- Customize this to get a different icon in the Finder. -->
<txt-record>model=Xserver</txt-record>
</service>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
</service-group>
EOF
rc-update add avahi-daemon default
rc-update add netatalk default
rc

Set up Time Machine on OS X lion

 # Make Time Machine could use disks through the network
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
14九/110

使用GNU `parallel`并行更新git子模块

发布在 crhan

如果你像我一样使用`pathogen`来管理你的vim插件,并且在.vim/bundle/文件夹下面添加了好多个git submodule的话,这个技巧应该对你有点帮助。

这里用到了GNU的`parallel`工具,如果你是gentoo,那你可以通过moreutils包来获得它。

 emerge moreutils

用法很简单,这里就直接给出可用的脚本了,将下面的脚本放到git的根目录下运行即可

#!/bin/sh
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
CWD=$( cd $(dirname $0) && pwd )
sub_modules=$(git submodule status |awk '{print $2}')

if [ -n "$sub_modules" ]
then
    if [ -x "$(which parallel)" ];then
        parallel -i sh -c "cd {};pwd;git pull" -- $sub_modules
    else
        echo ' * Error: Util `Parallel` not found'
    fi
else
    echo " * Error: Not any git submodules find"
fi
12九/110

Use xmodmap to make CapsLk an addtional Ctrl

发布在 crhan

结果很简单,过程很曲折,完整的代码如下,将其放入~/.Xmodmap中即可:

!add capsLK additional ctrl
remove lock = Caps_Lock
add control = Caps_Lock
keycode 66 = Control_L

PS: keycode 66 就是CapsLk键

参考资料:

标签: , 没有评论
11九/111

Bash 脚本心得

发布在 crhan

受到了主席的鼓励,分享一下我前段时间实习写bash脚本学到的一些东西。

之前对shell脚本的认识还十分浅薄,认为他不过是一系列命令的组合罢了。经过这段时间的实践之后,发现shell脚本远不止于此,他最精华的部分在于对变量的处理而产生很多丰富的功能实现

第 1 页,共 2 页12