Arch Linux, Linux2010年6月6日zhtlancer
今天重装Arch时发现最新的2010.05安装镜像只提供了光盘ISO版本,而没有原来的USB镜像版本了,所以只能放弃USB安装的方案。但是为了一次重装系统刻张盘实在浪费,所以就研究了下如何利用这个ISO镜像来实现硬盘安装。
查看了一下ArchWiki,刚好有一篇文章介绍利用ISO镜像安装Arch的方法,主要是利用grub将ISO镜像映射到内存中以供安装使用。不过这篇文章是在2009.08的安装镜像基础上的,在2010.05镜像上有些地方需要做些改动。下面是我的详细的安装过程。
首先要有一个可用的grub。我这里用的grub4dos,需要注意的一点是,我最先用grub4dos 0.4.3没成功,换到0.4.4版本顺利安装。然后将arch的安装镜像放在grub可读的分区内,如(hd1,0)/archlinux-2010.05-core-i686.iso。在启动进入grub时,按“c”进入grub的命令行模式。依次执行以下命令:
grub> map –mem –heads=0 –sectors-per-track=0 (hd0,1)/archlinux-2010.05-core-i686.iso (0xff)
grub> map –hook
grub> chainloader (0xff)
grub> boot
如果以上命令执行过程均没有问题,执行boot后应该就进入ISO镜像的启动流程了,按照正常方式选择arch的live方式,进入安装环境。
安装环境启动过程中,会提示没有找到安装光盘,然后提供了一个shell让用户解决这个问题,其原因在于arch的安装环境是通过光盘的label去找安装光盘的,也就是/dev/disk/by-label/ARCH_201005。所以我们还是需要手动将硬盘上的ISO文件链接到这个位置。当然首先要挂载ISO镜像所在的硬盘分区。这里需要特别注意一点,在Arch安装环境中,不要把任何分区挂载到/mnt目录下,Arch安装环境会将/mnt挂载为安装目标。可以执行下面的命令完成ISO镜像的链接工作:
#mkdir /tmp_mnt
#mount –r –t vfat /dev/sdb1 /tmp_mnt
#modprobe loop
#losetup /dev/loop6 /tmp_mnt/archlinux-2010.05-core-i686.iso
#ln –s /dev/loop6 /dev/disk/by-label/ARCH_201005
#exit
如果没有问题的话,exit后arch会继续安装流程。后面的安装就与正常的光盘安装无异了。
以前用debian的时候,debian的ISO镜像中会提供用于硬盘安装的内核和ramdisk镜像,可以用grub手动加载,安装环境启动后中debian会自动检测ISO镜像位置,挂载ISO镜像继续安装。看了一下arch的ISO镜像内容,感觉arch应该也可以用这种方式进行安装,有兴趣的tx可以尝试一下~
接着扫四道水题
#4 Find the largest palindrome made from the product of two 3-digit numbers.
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
#!/usr/bin/env python
biggest = 0
def isPalindromic(num):
num_str = str(num)
num_halflen = len(num_str)/2
for idx in range(0, num_halflen):
if num_str[idx] != num_str[-(idx+1)]:
return False
return True
for x in range(100, 999):
for y in range(100, 999):
if isPalindromic(x*y) and x*y > biggest:
biggest = x*y
print biggest
#5 What is the smallest number divisible by each of the numbers 1 to 20?
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest number that is evenly divisible by all of the numbers from 1 to 20?
#!/usr/bin/env python
def isPrimeUnder20(num):
for tmp in range(2, num):
if num%tmp == 0:
return False
return True
factor_list = []
for x in range(2, 20):
if isPrimeUnder20(x):
power_x = 1
while x**power_x <= 20:
power_x += 1
factor_list.append(x**(power_x-1))
print x,power_x-1
prod = 1
for x in factor_list:
prod *= x
print prod
#6 What is the difference between the sum of the squares and the square of the sums?
The sum of the squares of the first ten natural numbers is,
1^(2) + 2^(2) + ... + 10^(2) = 385
The square of the sum of the first ten natural numbers is,
(1 + 2 + ... + 10)^(2) = 55^(2) = 3025
Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640.
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
#!/usr/bin/env python
sum_of_square = 0
for x in range(1, 101):
sum_of_square += x**2
sum_tmp = 0
for x in range(1, 101):
sum_tmp += x
square_of_sum = sum_tmp**2
delta = square_of_sum - sum_of_square
print delta
Project Eular, Python2010年1月30日zhtlancer
好久没有动这个了,今天再扫一道水题。
Find the largest prime factor of a composite number.
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
题目的数据规模很小,所以可以直接偷懒穷举,so…
#!/usr/bin/env python
num = 600851475143
seg_size = 10000
base_factor = 0
prime_factors = []
while base_factor*seg_size < num:
for tmp in range(seg_size*base_factor, seg_size*(base_factor+1)):
if tmp>1 and num%tmp == 0:
prime_factors.append(tmp)
while num%tmp == 0:
num = num / tmp
print "num:",num," ",tmp
base_factor = base_factor + 1
print prime_factors
BTalk, 黑莓(BlackBerry)2010年1月26日zhtlancer
今后BTalk的更新信息将移至感触黑莓(feelberry),感谢大家对BTalk开发的关注和支持。
相信将BTalk更新信息转移到专业黑莓站点,将给大家带来更好的使用体验。同时感谢feelberry的创始人sanren、疯子和十六人为大家带来这么好的一个发挥平台,同时在感触黑莓的BBS中,会为大家开辟BTalk专区,欢迎大家在那里发表相关看法: )
BTalk, JAVA2009年12月25日zhtlancer
First of all, Merry Xmas, dear friends~
说来真是一个不太平的新年,各种阴影笼罩在大家头顶sigh… Anyway,但愿明年能有所转机~
言归正传,这次更新并没有太多变化,本来计划主要实现对其它XMPP服务器支持,结果用校内的XMPP服务一直没成功连上,所以留待大家自行测试-_-|||
另外在@aston314的帮助下,增加了一个弹出对话框提醒方式,试了一下果然好用呵呵。默认设置为“总是弹出”,如果消息太多觉得烦了可以在设置里面修改弹出提醒的类型。
Changelog:
1. 修正对Chatterous群支持问题
2. 在@aston314的帮助下,实现并完善了新信息对话框提醒方式(果然很好用XD)
3. 增加自定义服务器,可以连接GTalk以外的XMPP服务器
4. 根据@jollinz的建议增加Suretype机型键位支持
5. 更换图标
下载链接:
4.2: OTA下载 | 安装包下载
4.5: OTA下载 | 安装包下载
ST: OTA下载 | 安装包下载
BTalk, JAVA2009年12月19日zhtlancer
Changelog:
- 修正几个比较严重的bug,比如对tweet-im机器人的支持问题,使用系统输入法输入会被中断的问题,以及某些情况下无法收到消息的问题
- 增加添加/删除好友功能
- 改进快捷键操作方式,如增加翻页等(空格或n键下翻页,p键上翻页)
- 增加中文语言支持
- 增加消息时间戳
先插一句嘴,这次升级中的修复以及改进非常重要,强烈建议大家升级
其实我一直觉得BB上用英文界面是最方便的,可以支持快速定位等。不过有挺多bbers要求加入中文支持,还是满足一下大家的要求吧。不过做语言支持才发现,原来做Localization是这么痛苦的一件事,本来以为一个小时搞定了,没想到差点花一个通宵= =… 言归正传,为了方便需要中文支持的用户,我把初始默认语言设置为中文,这样应该会避免有人认不出设置选项的问题。所以如果希望使用英文界面的bbers,可以到设置菜单把语言切换为英文即可。
另外,关于消息的时间戳,目前是直接使用的当前系统时间,而不是xmpp报文中的timpstamp字段,不过gtalk在消息超过一定时间保持未读状态的话,会直接把消息报告发到gmail里,所以应该不会出现实际发送时间与显示时间差太多的情况
4.2 OS: OTA下载 | 安装包下载
4.5 OS: OTA下载 | 安装包下载
Enjoy~
BTalk, JAVA2009年12月10日zhtlancer
ChangeLog
- 增加选项选择是否用菜单键发送信息,以解决点讯用户无法粘贴的问题
- 4.2版本与4.5功能相同
其中4.5的算是0.5.112版本的紧急更新,有相应问题的用户请下载更新。4.2 OS版本修改完成,经aston同学测试应该没有问题了。
4.5 OS:
OTA下载
安装包下载
4.2 OS:
OTA下载
安装包下载
Enjoy~
BTalk, JAVA2009年12月10日zhtlancer
ChangLogs
- 加入断线自动重连功能
- 菜单项和操作键方面的改进
- 其它细节变更
这个版本最大的改进就是断线重连了,很多用户多次向我提出这个需求,同时对于BTalk这种非BIS/BES数据应用,没有自动重连实在影响可用度。为了保证正常使用,针对自动重连加入了一些设置选项,下面有详细说明。另外根据oran的建议,增加了一些操作方式以改进storm的用户体验,比如增加主要操作的菜单项,以及用黑莓键发送信息等。但是因为没有实机测试,不知改的是否合适,希望storm用户测试后能把问题反馈给我。最后还有两个小改动,一个是可以设置新信息是否自动前台,一个是可以设置聊天界面字体大小。
下面是自动重连设置说明:

Auto reconnect是自动重连的总开关,默认为打开
Retry delay(sec)是每次重连之前的延时,以秒为单位,默认为10,建议最好设置5以上,这样可以避免电梯等信号不好的时候不断重试
Retry limit是最大重试次数限制,如果重试次数超过这个值则放弃重连,默认为10次,如果设置为0则无限次重试。这个可以根据自己的需要和网络质量设置吧,不过还是要小心,要是忘了登出一直挂了一个月……另外,如果重试次数超出,则进入断线(offline)状态,这时在好友界面,有一个菜单项(Retry)可以手动重连,并且会重置目前的重试次数(这个菜单项在其它状态下是没用的,就不要点了…)。
OTA下载链接
安装包下载链接
Enjoy!
BTalk, JAVA2009年12月6日zhtlancer
ChangLogs
- 此版本针对4.2 OS修改,经8700 4.2 OS测试已经解决“blocking operation not permitted on event dispatch thread”问题
- 若干细微修改
- 其它系统若无问题不必升级
- 在此特别感谢@TsienS同学在测试中做出的贡献
可以说,这个版本带来一个好消息和一个坏消息。好消息当然就是4.2 OS终于能用上BTalk了,cheers!
但是,从此4.2版本和高版本的代码就被分开了……这样将导致以后两个开发分支进度产生差异。以目前手头可用于测试的设备来看,估计以后开发路线为先在4.5OS版本中增加新功能,测试,成熟之后,再在4.2OS版本中加入相应功能的实现,所以还是要对不起4.2OS的朋友了……
不过相信在热心bbers的帮忙测试下,4.2版本的更新周期应该会跟上4.5的步伐的!
OTA下载: http://btalk.googlecode.com/files/BTalk-4_2.jad
安装包: http://btalk.googlecode.com/files/BTalk-42-0.5.101.7z
BTalk, JAVA2009年12月2日zhtlancer
经@TsienS同学测试,这个版本还是有问题,暂时停止测试……
这个版本主要对8700 4.2 OS的用户发信息时报
Uncaught exception:blocking operation not permitted on event dispatch thread进行实验性修正,希望8700 4.2 OS用户对这个版本进行测试并及时将结果反馈给我。其它系统不必进行更新。
另外从这个版本开始,将直接从google code的project host提供OTA下载链接以及打包下载链接。
OTA下载:http://btalk.googlecode.com/files/BTalk.jad
打包下载:http://btalk.googlecode.com/files/BTalk-0.5.85.7z
最近评论