Processing math: 0%
9
30
2011
6

说法语最美丽,我倒觉得很难听 ><

(纯属胡扯,非民族主义言论)

据说法语是“世界上最美丽的语言”,我觉得完全不是这么回事呢。

我只会两个法语单词:salut(类汉语发音:sa轻 lv四),bonjour(先发bun-ju,然后发h不震动声带)。说实话,感觉都挺难听的。尤其是bonjour最后那个/h/,尝试发音多了有种要呕吐的感觉。

用Google Translate听了各种语言,感觉法语奇奇怪怪的。发音奇怪,轻重音设置很奇怪,模糊不清,完全听不出美感。和某些地方所说的“清晰悦耳、抑扬顿挫、婉转动听”差距很大。感觉好像还不如英语呢。...

Category: 语言文字 | Tags: 语言 法语
9
26
2011
0

用mencoder把外挂字幕内嵌到视频中

我的手机档次低,只支持MP4格式,不支持外挂字幕。下的好多外国片都是外挂字幕(或是mkv内置字幕)的,所以想把字幕直接加到图像上。

根据网上的搜索,得到下面一条命令:

1
2
3
4
5
6
7
8
9
mencoder 输入文件 -o 输出文件.mp4 \
-oac lavc -ovc lavc -of lavf \
-lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:vbitrate=180 \
-lavcopts acodec=libfaac \
-af lavcresample=8000 \
-vf harddup,scale=320:-10,unsharp=l3×3:0.7,expand=320:240 \
-ofps 16 -lavfopts format=psp -srate 22050 \
-sub 字幕文件 -font 中文字体路径(如/usr/share/fonts/TTF/ukai.ttc) \
-subfont-text-scale 字号(5就可以了) -subcp 编码(utf8可省略)

...

9
25
2011
7

开源与非开源,支持与不支持

有些开源软件支持者:仇视M、鄙视甲骨文、讨厌Mono和Java,恶心Flash,只用开源软件。我对“绝对自由”实在是不怎么感冒。实用的就是最好的,无所谓开源不开源,自由不自由。C#好就是好,不是因为M。Flash纵然再烂,但依旧广泛使用。

我觉得Debian挺难用的,因为她太“自由”了。官方仓库找不到Flash,找不到N卡闭源驱动…… Ubuntu就很好,她并不排斥闭源软件,闭源的解码器、“受限驱动”都收纳进了软件仓库。Arch也很不错。

开源是为了什么?虚幻的自由理想吗?那可就太无聊了。我觉得开源的好处,一方面是吸引了更多的开发者,一方面是为用户提供了更大的定制空间。所谓“理想”,当不了饭吃,换不来支持,更吸引不来用户。纯粹为了自由理想而开源,就和我朝N年前为了平等瓜分了所有富人的财富似的——最后只剩一堆穷光蛋。...

Category: 计算机 | Tags: 开源
9
12
2011
2

9.11的回忆

9.11时,刚上小学一个多星期。

是从《新闻联播》看的。我当时以为是飞机撞上了一个五边形的菜市场,满地都是火,很多买菜的人死了。好像是因为天天和家长出去买菜,记忆紊乱了。

其实我当时对世界的认识很少的。我不知道有海,以为到处都是陆地,中国大公鸡外面包裹的就是其他国家(中国是世界中心呐~~~)。我也不知道什么恐怖分子,以为所有人都像我身边的人一样,吃饭工作睡觉。

十年过去了,我已经知道了太多。...

Category: 生活 | Tags: 回忆
9
11
2011
3

评国产动画

面向低龄真幼稚

教育孩子不掩饰

成本不低画质低,

三维做出木乃伊

跟风日美奔一流,

借鉴不能叫抄袭。...

Category: 生活 | Tags: 动画 国产
9
10
2011
17

让中学生学 Visual Basic 简直害人

我国的中学信息学教育,教的编程语言是Visual Basic。我觉得,虽然VB学起来简单,但用VB入门就是坑害小童鞋啊。

其一,VB上来就是GUI编程,掩盖了很多的编程基础知识。学了VB的同学,看到我用C语言写出来的“DOS程序”,还觉得十分落后。恐怕初学者学了VB后,实在是无法接受其他“只能写出DOS程序”的语言了吧。

其二,VB宽松的语法不利于培养编程习惯。VB不用声明变量,又是弱类型,字符串都能和数字相加,给了编程者太多的自由。过度宽松的语法,可能导致各种意想不到的问题。编程习惯的重要性,就不多说了吧……

其三,VB是Windows-only的(虽然有个gambas什么的移植VB到Linux,但可以忽略之)。真正的程序员,不能烂到Windows一辈子吧。学个C/C++、Python什么的,好歹也到处能用。...

Category: 计算机 | Tags: BASIC 编程 Windows Python
9
10
2011
4

凸包郁闷死我了

郁闷啊郁闷,写了两个凸包的题目,都折戟在一两个NB数据上了。

tyvj上P1462的程序,赤果果的求凸包。自己写的Graham扫描法,极角顺序,从最下最右的点开始:

凸包 Graham扫描法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
 
typedef struct {
    double x, y, tg;
} coord;
 
// 算极角
inline double calc_tg (const coord b, const coord n)
{
    double ret = atan2(n.y-b.y, n.x-b.x);
    return ret >= 0 ? ret:ret+2*M_PI;
}
 
// 判断是否左转
#define tleft(a,b,c) \
        (((b).x-(a).x)*((c).y-(a).y)-((c).x-(a).x)*((b).y-(a).y) <= 0.0)
 
// 快排之比较
int comp (const void *pa, const void *pb)
{
    const coord *a = (const coord*)pa, *b = (const coord*)pb;
    if (a->tg > b->tg)
        return 1;
    else if (a->tg != b->tg)
        return -1;
    else
        return a->x > b->x ? 1:-1;
}
 
int main ()
{
    int n, i, stktail;
    coord *p, **stk, minc = {0.0, 1.0E22};
 
    // 读入数据
    scanf("%d", &n);
    p = malloc(n*sizeof(coord));
    stk = malloc(n*sizeof(coord*));
    for (i=0; i<n; i++)
    {
        scanf("%lf %lf", &(p[i].x), &(p[i].y));
        if ((p[i].y < minc.y) ||
           ((p[i].y == minc.y) && (p[i].x < minc.x)))
            minc = p[i];
    }
 
    // 求凸包
    for (i=0; i<n; i++)
        p[i].tg = calc_tg(minc, p[i]);
 
    qsort(p, n, sizeof(coord), comp);
 
    stk[0] = p;
    stk[1] = p+1;
    stk[2] = p+2;
    stktail = 2;
    for (i=3; i<n; i++)
    {
        while (stktail >= 1)
        {
            coord *base = stk[stktail-1],
                  *last = stk[stktail];
            if (tleft(*base, *last, p[i]))
                stktail--;
            else
                break;
        }
 
        stk[++stktail] = p+i;
    }
 
    while (stk[stktail]->tg == stk[stktail-1]->tg)
        stktail--;
 
    // 按要求的顺序输出
    int st = 0;
    double minx = stk[0]->x;
    for (i=stktail; i>=0; i--)
    {
        if (stk[i]->x < minx)
            minx = stk[i]->x,
            st = i;
        else
            break;
    }
 
    i = st;
    do
    {
        printf("%.4lf %.4lf\n", stk[i]->x, stk[i]->y);
        if (--i < 0)
            i = stktail;
    } while (i != st);
 
    return 0;
}

运行结果:...

Category: 计算机 | Tags: 算法 凸包 C/C++ 编程 OI
9
10
2011
7

e4rat:大幅提升Linux开机速度

警告:此软件仅限原生ext4文件系统使用。其他文件系统以及从低版本升级的ext4文件系统用户不要使用,否则将导致灾难性后果。 本着负责的态度,先Warning。 

e4rat是个好东西。其原理大致是(我猜的):通过磁盘整理有序化开机要加载的文件,并在系统启动阶段把数据预读到内存,充分使用内存和IO资源。

AUR上大家的溢美之词:

snack 发表于 Mon, 20 Jun 2011 23:03:28 +0000

...

9
9
2011
3

孟母三迁,我也三迁

最开始我的Blog在Live Space。

后来Live Space关闭了(真是莫名其妙),转移Blog到Google App Engine。

半年后,GAE被盾。

悲悴地沉默一年,发现这里了。这个不会被XX了吧?我不谈郑智 - -

GAE那个,能翻墙的话,还是可以访问的。以前的文章都在那里:

http://cuihaopy.appspot.com/...

Category: 生活 | Tags:

| Theme: Aeros 2.0 by TheBuckmaker.com