可可熊D窝

Keep it simple, stupid


  • 首页

  • 关于

  • 标签182

  • 分类8

  • 归档359

  • 搜索

想换一个Linux发行版

发表 2008-12-04 | 分类 Linux | 评论数:
| 字数: 2.5k | 阅读 ≈ 2 分钟

用了Fedora也有不少时间了,总的感觉还不错,但是我想要一个可以掌握在手里的系统,比较干净一些,不想有一些我从来用不到的东西,比如Java,我很讨厌系统里面有这些个东西,Fedora安装下来有不少没用的东西,即使使用很小的安装也得占大概2G的空间。

我希望的这个发型版:

  • 比较干净(没用的东西尽量少,需要的时候才安装)
  • 定制性比较强,安装软件比较容易(但也不可以因为我想听个歌而让我折腾半天的时间去装个播放器,也不可以让我花大量时间去折腾显卡配置等系统问题,我需要专注做事情,而不是折腾系统,系统只是个工具)
  • 很方便使用X,我大部分时间还是需要X的;
  • 比较适合做开发,比如Python,SDL,OpenGL,wxPython……
  • 速度比较快,Fedora开机的时候会加载很多没用的东西,当然这些可以自己手动去掉,俺还是不喜欢;
  • 升级不能太频繁,Fedora从5开始用,现在都10了,才两年多的时间,太快了,虽然系统确实一直在进步,或者至少可以平滑的升级,Fedora在这方面做的不好;
  • 稳定性比较好,说实话用这么长时间Fedora,还是有不少时间莫名的死掉;
    暂时就想到这么多,最近把大部份的Linux发型版介绍都看了看,目前觉得以下几个比较合适的我需要:

ArchLinux
Slackware
Gentoo

现在还拿不定主意,路过的给个选择,或者还有别的发型版更合适我?

Comments

vvoody: 选好了吗?~~

c: slackware不错,应该符合你口味

Amankwah: 我是因为学校宿舍的网络问题,又换回Ubuntu的,毕竟Ubuntu在国内的源要好一点,我当时用Gentoo的时候,它用的应该是sync和rsync的源,貌似我见到的都在国外,原来在宿舍的网络情况你也知道,所以我就回Ubuntu了。 btw: 你的标题 s/发型版/发行版/

dream: 高度关注此篇 :) 还有一个CRUX,肯定看看

Amankwah: Gentoo吧,我弄过,很符合要求,就是第一次编译可能比较需要时间,但是eports包管理还是非常方便的。 我看到你文章的前半部分就想推荐Gentoo了

可可熊: gentoo比如我要做SDL开发,会不会要花很长的时间来做准备呢? 老大为什么又换Ubuntu不用gentoo了?

Solrex Yang: Gentoo 的编译应该还不是很容易的 如果去掉升级不要太频繁,Ubuntu 还是比较适合的 至少我已经用将近三年了,无论开发还是别的,都应该能满足要求

草儿: 嫌升级频繁你不升就行了嘛 你对比着看下得了,我就不发表意见了。前两天看见Fedora还有个精简版~

luguo: 自己做一个发行版吧~~~~不是很难~~ 有兴趣可以找我,我有的是时间~~

小强: 推荐debian,虽然debian本身很大(4张dvd)但是安装模式很多,可以从最小的开始一点点的增加,个人认为正好满足你的需要。最重要的,debian升级不频繁,这么多年了,好像才到5。

kongove: 我刚虚拟机装了个Fedora10把x-window、kde等都删光还有2.1G,不开发库比较全。 许振文现在用Dabin,听说默认不装x-window、桌面应用程序,比较干净。虽然Dabin升级慢,但可以通过相对稳定的test版体验新功能。

可可熊: 是Debian。

残剑饮血: 本人打算至之死地而后生,LFS…..

可可熊: LFS除非你打算全身心的投入到折腾你的系统上去,或者打算做自己的发行版。

taurusivy: 推荐ubuntu,日常使用了2年,很方便,在我的破本上没有死过一次。我做仿真测试和跑算法都一点没问题。朋友推荐了arch但是一直没时间尝试。看来只能2009了:p

xiws: archlinux吧

kermit.mei: 推荐gNewSense,安装很小,由于它的目的是剔除Kernele中的非自由软件,所以你说的很多东西 都没有加进来,而且,源基于是ubuntu的,很方便,速度也很快。这样的话安装软件比较方便。 就是源是基于ubuntu8.04的,所以有些软件比较老,比如Pidgin中还有个中文输入的bug,不过 可以自己编译个别软件。 Gentoo也很好,就是配置比较麻烦,不知中国内地的源如何。

lendy: 其实Archlinux,我觉得蛮合适的。很方便。对于开发来说 ,也是提供了许多比较好的工具。 比如,ABS

NONE_NONE: gentoo, 定制性是很强的, 就是什么都要自己编译, 也不算麻烦,己个命令 slackware 这个很方便, 但问题是要装什么就是全手动了, 但是这个系统有种很干净的感觉 archLinux 这个我以及也之用过一次, 就是装到gnome就删了, 没什么能告诉你的

yarco: sabayon: 一个基于gentoo的发行版. 意大利人搞的, 还不错

aegiryy: debian

brooklyn: 我正在同时用archlinux和gentoo。 我的要求跟楼主几乎一样,所以那几个发行版我都用过。 本来用slackware挺好的,但是slackware没有源,每次安装新的软件包都要自己下载源代码并且自己编译打包。基于它的zenwalk挺不错的。 archlinux启动速度很快,定制性比较高,稍微熟悉linux的人很容易上手。还有很好的AUR支持,流行的软件包都能下载到。不过缺点是升级频率比较高。没有版本的区别,但是长时间不升级,容易出毛病。 gentoo在我看来是最强的,但是需要一定的时间来熟悉和定制。定制好后用起来也是非常方便,基本上不需要升级。

分秒必争: 一直在线Ubuntu。普通版,半年升级一次,长期支持的版本2年一次,应该比较符合你

ipeter: ArchLinux和Debian都不错,Gentoo装的过程太折腾了。

自由的角马: 你的列表中选择gentoo吧。 要稳定来debian

最近用Python写了个Fetion的库

发表 2008-12-03 | 分类 编程相关 | 评论数:
| 字数: 2.2k | 阅读 ≈ 2 分钟

上周大部分的时间在写这个东西,现在基本上实现了我所需要的功能,网上有一些Fetion的实现,不过都比较凑合,也有一个叫LibFetion的东西,不过不开放源代码,所以就自己写了这个PyFetion的库。

目前这个库有以下功能:

  • 支持飞信2006,2008协议(其实就是分别使用MD5、SHA1算法进行登录认证);
  • 支持HTTP、TCP方式;
  • 支持给自己手机发短信(这个也是我的主要目的);
  • 支持直接发送信息到指定手机号(前提是加为好友,好处是直接使用手机号,而不需要知道飞信号);
  • 支持添加好友
  • …….

在设计好整个框架以后,再有一些功能添加进来也就比较方便了

特点:

  • 纯Python代码,可以运行到任何地方,只要有Python的地方就有fetion;
  • 封装程度比较高,使用方便;

好的,吹完了。本来还想把这个写成一个完整的飞信客户端,但是觉得没什么必要,已经有Pidgin自带的飞信插件,还有个不开源的LibFetion我再写一个就没什么意义了,而且我这个PyFetion的定位本来也不是做完整的客户端。何况写GUI的程序我想把界面做得漂亮些,我现在也没什么做GUI的经验,wxPython也用的不熟。我还有个想法就是用SDL(Pygame)之类的做一个很炫的客户端,不过这肯定得花不少的时间,最近公司可能要开始忙了,这些还是先放一放吧。

刚公司开了两个多小时会,这会儿都下班好久了,今天就到此结束吧。

Comments

可可熊: 因为还有后续的东西要做,所以暂时还不想公开,希望弄得完整一些。 fetion的协议其实比较“公开”,网上有一些分析的资料。

草儿: 如果只是实现了目前的进度,按照你的设想来说只是打下了基础,就看后续你做到什么时候了。 PS:飞信加为好友之后,不管是手机号还是飞信号,只要知道一个就可以发送短信的。没必要非得给手机号发啊,可能我不太理解你的意思。

Solrex Yang: 不错不错 只是为什么没有开放下载呀

luguo: 好,不过fetion协议你怎么知道的?貌似不是公开的吧?

lanzhu: 楼主你好,你写的文章太好了,我最近也在研究sip方面的协议 但是都是略微知道点 实际开发的时候 有点摸不着头绪 所以能烦请你能给我详细描述下你的设计方案么 谢谢 最好是能将你的代码写玩后给我作下参考 谢谢了 我的邮箱是lazypig01@gmail.com

fishman: 一直期望有个python版的飞信,没想到您已经做到了,Great Work! 个人觉得GUI意义不大,就像您一样能给自己发短信就帮助很大了! 期望能早日看到pyfetion发布,可能的话一起除bug!

可可熊: 我的意思是你大部时间是记得别人的手机号,而不是飞信号,所以直接以 “send 手机号 内容” 的方式发短信更方便,其实程序真正发送的时候是飞信号。

kongove: 期待看到源代码。

可可熊: 我对sip也仅仅是了解一点,这个库也只是实现很简单的一些东西,也没有什么设计方案,就是对抓包信息自己组装一下,看来我是帮不到你的。 :-)

可可熊: 我就是在Linux写的,超时这个没考虑过,俺只测试正常的网络情况。 接收当然是可以的,需要使用TCP连接方式,只是没写代码。 HTTP方式不知道可不可以接收,不太清楚。

aadebuger: 1.测试,还不错. 2.不过,有几个问题.timeout,没处理,还有recv 没检查长度,我放到linux 上有点问题,后来我就乱改了一下。 def tcp_recv(self): totaldata=’’ try: while 1: data = self.sock.recv(4096) # print ‘data============’ # print data totaldata = totaldata + data if data.rfind(‘</results’)!=-1: break; if data.rfind(‘Digest’)!=-1: break; if data.rfind(‘XI:’)!=-1: break; except socket.error,e: self.__sock.close() print e.read() sys.exit(-1) return totaldata 我没测试过你的程序,接收能用吗?

IDisposable: 可可熊你好,你的pyfetion代码哪里可以下载?谢谢!

cocobear: send_msg就是发送到PC端; 没太明白你指的交互

aegiryy: 可可兄,如何做到一个实时交互呢?譬如我可以发送到别人电脑登录的飞信而不是手机,而也可以别人发回来的?

森动: 你好,我下载了PyFetion0.3,然后输入正确的手机号和密码,但是/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLD。。。。。网络通信出错 请检查网络连接 请问应该怎么解决

可可熊: 已经更新 2008的协议还是可以用的 http://cocobear.github.io/2010/09/16/update-pyfetion-2/

代码高亮插件--使用黑色背景

发表 2008-11-21 | 分类 Linux | 评论数:
| 字数: 844 | 阅读 ≈ 1 分钟

ig_syntax_hilite这个代码高亮的插件默认使用的是白色背景,所以小林子同学说看不清楚代码,俺就试着把ig_syntax_hilite插件所有颜色代码全部反转了一下,例如:

#ffffff黑色转换为#000000

ig_syntax_hilite使用的是geshe,在geshe目录下有很多与语言相关的php加亮文件,颜色代码就在这里生成,使用sed命令进行替换:

代码一

sed -r '/color *: *#[0-9a-f]{6};/{h;s/.*#([^;]+);.*/\1/;y/0123456789abcdef/fedcba9876543210/;G;s/(.*)\n(.*#)[^;]+(;.*)/\2\1\3/}' urfile

代码二

find ./ -iname abap.php | { while read i;do sed -rn 'h;s/.*color[ \t]*[=:][ \t]*#([a-fA-F0-9]+).*/\1/;ta;p;d;:a y/0123456789abcdefABCDEF/fedcba9876543210543210/;G;s/(.*)\n(.*color[ \t]*[=:][ \t]*#)([a-fA-F0-9]+)(.*)/\2\1\4/p' $i >/tmp/tmp__;echo fuck;\cp -f /tmp/tmp__ $i;echo fuck;rm -f /tmp/tmp__;done; }

上面的代码不是俺写的,具体可以查看CU论坛
俺什么时候也能把sed用到这种境界也就满足了:-)

上面简单的一句话脚本还是很有用的,上次俺花了一天的时间去修改主题的配色,其实如果要求不高的话用这脚本一下就搞定了:-)

update:08-12-31
还得把一个颜色表示为单词的也换一下:

sed -i 's/black/white/g' *

筛选法求质数

发表 2008-11-18 | 分类 编程相关 | 评论数:
| 字数: 1.6k | 阅读 ≈ 1 分钟

在这里看到用Lua和Python写的使用筛选法求质数的代码,俺自己也写了写,Python版用到了上面链接中一位兄弟的tips :-)

先来C语言版的:

#include <stdio .h>
#include <math .h>

#define NUM 2000000

int main(void)
{
    int primes[NUM];
    int i,j;
    for (i=0;i<num ;i++) {
        primes[i] = 1;

    }
    primes[0] = 0;
    primes[1] = 0;
    for (i=1;i<(long)sqrt(NUM)+1;i++) {
        if (primes[i]) {
            for (j=pow(i,2);j<NUM;j+=i) {
                primes[j] = 0;
            }
        }
    }

    long sum = 0;
    for (i=0;i<NUM;i++) {
        if (primes[i]) sum+=i;
    }
    printf("%ld\n",sum);

    return 0;
}

计算两百万以内质数和大约0.1秒左右:
[cocobear@cocobear wxpython]$ time ./a.out
142913828922

real    0m0.100s
user    0m0.088s
sys    0m0.012s

接着来可爱的Python版:

from math import sqrt
NUM = 2000000
prime_num = [i for i in xrange(NUM+1)]
for i in xrange(2,int(sqrt(NUM))+1):
    if prime_num[i]:
        start = i**2
        step  = i 
        prime_num[start::step] = ( (NUM - start)/step + 1)*[0]
print sum(prime_num)-1

执行时间1秒多点:

[cocobear@cocobear wxpython]$ time python prime.py 
142913828922

real    0m1.204s
user    0m1.051s
sys    0m0.093s

Python不到10行的代码也有不错的效率:-)
以上测试平台为:

Fedora 9 AMD64 4600+ 4G

计算5的阶乘

reduce(lambda x,y:x*y,range(1,5+1))

Comments

vvoody: 学习了。 PS:目前配色对代码阅读不太好,python 那段方括号、圆括号都看不见了,全选才能看见。 我一开始没反应过来,想python语法什么时候变成这样了 ;-)

wind: 话说俺的数学还是很烂,知道这个算法应该可行,但是我没法子用数学来证明…… 还有,这个背景太黑,然后代码也不亮,看得我好累啊。

可可熊: 别人博客上看到的,就没事写着玩了。 老大俺还是很生气,送俺一个apple的本就不生气了。

Amankwah: 筛法,呵呵~

Amankwah: 我修改你的链接了,不要生气啊~

luguo: 呵呵,怎么想起写这个程序了?

可可熊: 配色改了,呵呵。

Tanky Woo: 写的很好。学习了。

GRUB问题

发表 2008-11-11 | 分类 Linux | 评论数:
| 字数: 688 | 阅读 ≈ 1 分钟

昨天在机子上试着装了下RHEL 5.2(在新的分区安装sda3),重新安装了GRUB(安装到了MBR),结果机子上原来的Fedora 9(在sda4分区上)不能启动了,GRUB会提示错误:
setup (hd0,3)>
Checking if “/boot/grub/stage1” exists… no>
Checking if “/grub/stage1” exists… no

最后在RHEL 5.2中我把原来Fedora 9分区下/boot/grub/中的所有文件拷到了RHEL 5.2中的/boot/grub/,结果就正常了。不太理解为什么重新安装了GRUB,就无法引导原来的Fedora 9了。

Comments

dream: 你可能需要先指定root, 比如root (hd0,3),然后再用setup (hd0) 来安装。或者直接 用grub-install 来安装?

可可熊: root指定了。 grub-install需要进入系统安装,在grub引导菜单中没办法安装。

草儿: 你装那么多干嘛?

草儿: 哦,忘说了,节日快乐,哈哈~

Amankwah: 是grub搜索stage文件和配置文件的默认位置改变了吧~

kongove: 那应该是装系统的时候配置的Grub,或者你自己安装Grub没有成功~

kongove: 还有你的主题很漂亮~ 在firefox下右边的最新留言显示重叠.

兰灯: 我来回访,打个招呼。呵呵

ninesuns: 我猜是因为你用的是扩展分区,而安装rhel后分区表有变化,导致不再是sda4了。

1…181920…72
cocobear

cocobear

爱折腾的技术宅一枚

359 日志
8 分类
182 标签
RSS
GitHub E-Mail Twitter 豆瓣
友情链接
  • 王聪
  • 老大
0%
© 2007 – 2020 cocobear | 521k | 7:54
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v6.7.0
Hosted by GitHub Pages