CubieTruck – 上手

记得上上个月,我理性的入手了一个高端玩具,据说双核ARM处理器,搭配2G的RAM,可以外接SATA硬盘。

价格算合适,功耗低于5w,非常适合做开发机,下载机啥的。

但是后来因为HDMI接口的问题,Linux配置不上,所以搁置了。
兰后,兰后奇迹发生了。为了用HDMI调试这个家伙,我再次理性发作.

终于看到的linux的操作符,这货是基于arm的debian家linux。
兴奋的用apt部署了开发环境。

兰后,兰后木有了。。。

Posted in Uncategorized | Leave a comment

rsync over SSH

rsync和scp是跨机器文件拷贝的两种常用手段。

scp使用方便,凡事SSH2支持的机器都可以直接使用;效率的底下,尤其是在小文件多的场景,不得不提前打个包传输。
rsync的优势正是拷贝效率,自动跳过已经存在的文件,对小文件的优化尤其明显;缺点是要加装额外的服务。

但是今天从朋友学习到,rsync over ssh,克服了需要rsync-service的弱点。

rsync -azv -essh [src] [dst]

这样remote可以完全不用任何服务,即可使用优质的rsync协议。

现已加入.bash_alias
alias rscp='rsync -azv -essh'

Posted in Uncategorized | Leave a comment

新玩具 – CubieTruck

前几周前预订了一个某知名开源硬件的新产品。
今天一早,顺丰驾到,新玩具收到了。

迅速开机测试一下,崭新的Android系统。。。
妈蛋!刷成Linux系统,黑屏了。。。

不会挂了吧,网上查了一下午资料,原来是Linux固件不支持VGA输出,只支持HDMI,肿么破。。。

妈蛋!丢一边去了。。。

Posted in Uncategorized | Leave a comment

面试题-汉诺塔增强版

汉诺塔本身是一个很简单的算法题。游戏规则,百度一下

规则总结一下:
1. 三个杆子 A B C
2. n个大小不一的圆盘
3. 无论何时小盘必须在大盘上面
4. 一次只能挪动一个盘
5. 初始状态n个盘从小到大放在A柱上
6. 目标状态n个盘从小到大放在C柱上
这次面试官同学为了增加难度和趣味性,给我的多设置了一个限制条件。
7. C柱很特别,只能从B柱挪往C柱,不能由A柱挪动到C柱

虽然自认为蛮熟悉汉诺塔的算法。但是考虑了5min也没有什么结果。

现在终于冷静了,其实很简单。。

===============答案分割线=================

在此之前,需要我们先撰写一个简单的汉诺塔小程序:

#include<stdio.h>
// move n pans from x to y, with z
void f(int n, char x, char y, char z) {
    if (n>1) f(n-1, x, z, y);
    printf("[%d] %c->%c\n", n, x, y);
    if (n>1) f(n-1, z, y, x);
}
int main () {
    int n;
    scanf("%d", &n);
    f(n, 'A', 'C', 'B');
    return 0;
}

程序不难,本身就挺简单的题目。

判断条件7,应该这样插入递归结构中。


#include<stdio.h>
// move n pans from x to y, with z
void f(int n, char x, char y, char z) {
    if (x=='A' && y=='C') {
        if (n>1) f(n-1, 'A', 'C', 'B');
        printf("[%d] A->B\n", n);
        if (n>1) f(n-1, 'C', 'A', 'B');
        printf("[%d] B->C\n", n);
        if (n>1) f(n-1, 'A', 'C', 'B');
    } else {
        if (n>1) f(n-1, x, z, y);
        printf("[%d] %c->%c\n", n, x, y);
        if (n>1) f(n-1, z, y, x);
    }
}
int main () {
    int n;
    scanf("%d", &n);
    f(n, 'A', 'C', 'B');
    return 0;
}

最后的结论是:脑袋迟缓了,需要修炼。

Posted in Uncategorized | Leave a comment

新的想法

和去年同期的我对比,今年的我明显不上进了。

平淡无奇的生活和项目,经理还是一如既往的催工期。虽然项目还是去年打动我的项目,只能一味的坚持坚持。

有时候,会想想人生的意义等空虚的话题。认真思考之后,一顿失落。。。

感觉是时候要回报一下社会。

心里默默的起草了一个小项目,建立一个平台提供用户之间的交流。
也许,可以促进计算机程序设计竞赛在青少年之间的发展。

。。。 。。。

想法大概就是这样了。
这会不会使无数少年走向码农这条不归路。
嗯,怀着奇怪的想法继续干活去了。。。

Posted in Uncategorized | Leave a comment