2009年5月12日 星期二

eTiny(OpenERP Web客户端)大重构

今天从 OpenERP 的官方博客看到,OpenERP 团队已经对 trunk 中的 OpenERP Web 客户端——eTiny 进行了巨大的重构。

eTiny 如今不再需要整套 TurboGears 框架,而是成为了一个简单的、真正的 Web前台,仅仅使用 CherryPy3 来提供 HTTP 服务,这样不仅速度大大提升,据说是达到了3~5倍,也简化了部署过程,免去了频繁升级、依赖巨多的 TurboGears。

此次升级功能上已经基本迁移完成,不过在发文时 eTiny 的 win32/setup.py 安装脚本仍然没有同步更新,应该是开发团队的一个小小疏漏,还是让我们期待下一个发布版带来稳定、高效的 eTiny 吧。

Cheers!

2009年5月9日 星期六

OpenERP 创建的公路货运管理系统原型

我现在基本上可以用 OpenERP 进行业务不太复杂的开发了,先截几个界面图玩玩:


GTK+ 客户端:


再来两个 Web 的:

2009年4月18日 星期六

Python PuLP 线性规划库求解“鸡兔同笼”问题

PuLP 是一个 Python 的线性规划库,使用起来相当的简单方便:
http://code.google.com/p/pulp-or/

“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何.”

这里我们用 PuLP 来描述“鸡兔同笼”,设鸡的数量为 x,兔子的数量为 y,求解:

from pulp import *
prob = LpProblem("test", LpMinimize)
x = LpVariable("x", 0 , None, LpInteger)
y = LpVariable("y", 0 , None, LpInteger )

prob += x + y == 35
prob += 2 * x + 4 * y == 94

prob.solve(GLPK())

for v in prob.variables():
print v.name, "=", v.varValue

结果:
x = 23
y = 12

Have fun!

2009年4月3日 星期五

OpenERP PDF 报表中文支持模块:base_report_cn

模块是基于 Gábor Dukai 编写的 base_report_unicode 模块修改而来,自带了开源的文泉驿正黑体和 AR PL SungtiL GB 宋体。该模块的使用非常简单,只需要直接导入这个模块,不需要任何的 hack,OpenERP 现存的报表即可直接支持中文。当然了,内置报表的现存的文字仍然是英文的,本模块只是提供中文支持,让中文别显示成方框。

下载:
http://openerp-community-addons.googlecode.com/files/base_report_cn.zip

项目主页:
http://code.google.com/p/openerp-community-addons

2009年4月1日 星期三

DMD D语言编译器 1.042 & 2.027 放出!
其中,2.027 添加了超酷的 "alias this" 特性,可以简单地理解为C++的自定义类型转换操作符增强版,有了这个特性可以完全实现像 .Net 一样用 struct 封装内置类型。官网上的范例如下:

  1. struct Int32
  2. { int x;
  3. alias x this;
  4. }
  5. int foo(int i) { return i * 2; }
  6. void test()
  7. {
  8. Int32 s;
  9. s.x = 7;
  10. int i = -s; // i == -7
  11. i = s + 8; // i == 15
  12. i = s + s; // i == 14
  13. i = 9 + s; // i == 16
  14. i = foo(s); // implicit conversion to int
  15. }
还是等我有空翻翻 More Effective C++,重温一下那些 C++ 自定义操作符重载的条款再说。

2009年3月22日 星期日

我的又一 D 开源项目——WindumpWindump

官网介绍:

WindumpWindump(没错,名字就是 WindumpWindump,这么好的名字应该重复两次) 是这个星球上功能最强的密码恢复程序,能够读取如下软件保存的密码:
  • Internet Explorer 6/7/8 的自动完成和密码保护站点
  • WindowsLive/MSN Messenger 7/8/8.1 已保存的密码(不支持 Windows 2000)
  • Internet Explorer 网页文本框扫描
  • Firefox 1/1.5/2/3 自动完成密码
  • ThunderBird 1/1.5/2 邮件帐号密码
  • Outlook2000/2003/2007 邮件帐号密码
  • OutlookExpress 邮件帐号密码
  • Windows LSA 扫描,包括所有保存的 ADSL 帐号密码和Windows 默认登陆密码
  • Eudora 7 电子邮件客户端保存的帐号密码
  • 贸易通(阿里旺旺贸易通版5.1/TradeManager2)通讯工具保存的所有帐号密码
  • Foxmail 5/6 所有保存的帐号密码
  • Becky! 电子邮件客户端帐号密码
项目主页:
http://code.google.com/p/windump/

可执行文件下载:
http://windump.googlecode.com/files/windump.zip

可执行文件用 upx 压缩过,如果杀毒软件误报是正常现象。

2009年3月20日 星期五

Ruby On Rails 升级到 2.3.2

Ruby On Rails 已经发布了稳定版本 2.3.2,但是以前的程序在 2.3 下运行时会出现如:
uninitialized constant ApplicationController
这样的错误,解决该问题只需运行:
rake rails:update
即可,该任务会把 app/controller/application.rb 改名为 application_controller.rb,酱紫似乎也更符合 Rails 的命名习惯。
据说 Rails 2.3.2 还支持 Ruby 1.9,不过这得等什么时候有时间才能试试看了。
 

老革命的麦芽田 Powered By Blogger © 2009 Bombeli | Theme Design: ooruc