Google

星期日, 一月 04, 2009

FlexEdit

FlexEdit从2006年开始开发,当初只是想写一个自己的编辑器,后来放到我的网站xuyibo.org上,很多人下载使用,这样不断的工作之余的更新直到现在。这个软件是我目前倾注时间和精力最多的软件,许多功能都是经历了n个失眠夜晚的思考和m次构建完成的。

FlexEdit目前支持2000/XP/2003系统(Vista没有测试),几乎支持当前所有流行语言的高亮显示及符号解析功能,软件还内嵌了文件浏览窗口和DOS命令行,软件还保存了文件夹前进后退历史记录,FlexEdit没有工程的概念。

http://www.flexedit.org/

标签: ,

星期二, 十月 14, 2008

Generate Thumbnail Images from PDF Documents

Introduction

This article presents VB.NET code to create thumbnail images from a directory of Adobe Acrobat PDF documents.

Often when looking for documents it is much easier to find what you want visually, for example seeing the cover of a document.

The application was written for a website that I was developing that needed to display links to PDF documents. Instead of just showing a little PDF icon next to each document we wanted to display the front page of the actual document.

As shown below, this gives the listings better aesthetics and also enables the users to find documents quicker if they recognise it.

标签: , ,

星期一, 十月 13, 2008

Welcome to Threading Building Blocks.org!

Intel® Threading Building Blocks (TBB) offers a rich and complete approach to expressing parallelism in a C++ program. It is a library that helps you take advantage of multi-core processor performance without having to be a threading expert. Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanism for performance and scalability and performance.

标签: ,

Infoworld开源软件大奖

InfoWorld历年的开源软件大奖都相当有分量,不过国内知道或者关注这个奖项的用户并不是特别多。InfoWorld 2008年的“开源软件大奖”最新出炉,CHIP软件社区乘此机会将InfoWorld 2008年的“开源软件大奖”中文化并进行整理,希望能够为中国用户带来便利,也希望能够为开源社区共享绵薄之力。
由于InfoWorld的评选软件范围广、类别多,很多时候在同一个类别中,桌面版软件和服务器版软件常常混杂在一起,限于时间和水平,这个专题的组织和本地化肯定有不妥甚至是错漏之处,欢迎用户和网友批评指正。

http://download.chip.eu/cn/standardbeitrag_cn_3640079.html

标签: ,

媒体观察:法国收获开源带来的启示

十年前欧洲的许多国家就已经开始大刀阔斧的推广开源软件,其中力度最大的国家非法国莫属。通过政策支持和备受瞩目的项目,法兰西共和国数年以来一直在不停的大力发展开源软件,尤其是在政府和教育领域表现尤为突出。

  即使到了今天,法国依然在不断让开源软件担任更重要的任务,并采取更优惠的措施扶持开源软件厂商。

  今年1月份,法国准军事警察部队表示,将逐步放弃使用微软Windows操作系统,而转向使用Linux操作系统。自2005年以来,法国国家宪兵部门已先后放弃使用微软Office办公套件和IE浏览器,转而使用OpenOffice和Firefox(火狐)浏览器等开源产品。

  今年7月份,由法国总统尼古拉•萨科齐领导的一个经济委员会提议,通过免税的方式来刺激更广范围内开源应用的普及。

  今天的法国无疑是全球最肥沃的开源生长土壤。备受好评的全球最大的开源中间件组织OW2联盟已经在法国扎根发芽,一些大型企业,诸如法国电信,已经开始全面部署开源软件。

  根据最新的一份调查报告显示,法国企业使用开源软件的比例达24%,高居各国之首,德国排名第二,比例为21%,美国和加拿大均为17%,英国仅为15%。而且,在未来一年内,法国企业计划采用开源软件的比例为39%,其次是德国(34%)和美国(28%)。

  法国政府在开源推广中的所做的各种努力现在已经到了收获的时候,开源在法国的成功告诉世人一个需要谨记在心的道理:在一个单一、共享的技术环境下共同工作时每个人都有可能取得成功。下面让我们看一下从开源在法国的成功我们能学到哪些经验。

  好处一:开源从教育抓起

  法兰西未来在开源方面的发展依然非常强劲,因为它获得了下一代开源开发者的支持。举个例子来说,法国政府去年向高校学生免费派发了175000份装有开源软件的U盘。技术性院校已经将开源教育作为它们的首先要考虑的大事之一,甚至有很多高校为之提供了高等学位。

  法国开源数据集成软件商先驱Talend的首席执行官兼创始人Bertrand Diard表示,“法国所有的学生都在使用开源,而美国除了麻省理工之外的多数大学都在使用来自微软、甲骨文和SAP的传统工具。”据Diard表示,由于开源在法国的普及度非常高,在法国开源人才比比皆是;而且因为法国开发者不会被专有和竞争技术分散精力,因此可以更快的使用开源工具开发软件,软件质量也更高。

  那么,其它国家的开发者、IT经理和企业管理者们可以从法国的开源经验中学到什么呢?用法国开源集成商Altic首席执行官Marc Sallieres的一句话作为答案:“改变你的观点”。

  好处二:聚合不同好技术

  能够将不同的开源项目整合到一起,并创造一个统一的平台,这可能是法国最大的开源收益。正是由于政府、教育和行业各方面的力量聚合在一起,才为领先的开源发展孕育了一个最佳的成长环境。

  开发开源工作流系统的Bonita项目创始人Miguel Valdes认为,在重用代码和与其它系统集成方面,法国开源开发者比其它国家的开发者对开源具有更好的理解。Valdes表示,“法国无疑是开源相关人员发展的更佳地方,法国的社会模式适合创业者和企业家去选择一个专有软件的替代解决方案,适合孕育新项目的创建,在这些项目中很多有经验的专业人士和技术熟练的计算机专业学生一起工作。”

  市场分析机构Gartner的分析师Massimo Pezzini表示,换句话说,法国的开源开发者为聚合不同开源项目打下了很好的根基,在这个基础上可以将六个、七个甚至更多的开源项目集成到一个综合性的平台中。

  好处三:解放带来创新

  令人毫不意外的情况是,开源聚合和集成技巧已经在法国迅速发展,并且已经传播到欧洲的其它地方。Pezzini表示,“在美国,开源项目通常应用面比较窄,只在一些技术领先的企业才会使用它们,而在欧洲开源已经成为主流,”他补充说,法国开创了开源之路后,北欧的一些国家已经紧跟而上。“欧洲的机构面临着一个商机,即将多个开源方案进行组合以成为虚拟专用网、SOA和商业智能等解决方案。”

  看一下开源的法语表示,logiciel libre,意味着你可以这样来理解“free software”——“自由交流,但并不是免费啤酒(free as in speech, not free as in beer)”Logiciel libre可以轻松成为全球开源社区的口号。从专有软件的束缚之中解放出来,法国开源开发者正在被鼓励去体验创新和无拘无束。

  当意识到在整个IT系统应用开源具有这种有效创新的优势后,法国的大学首当其冲,担起了把开源传递给新一代开发者和IT管理者的重任。Pezzini表示,“其它国家现在要做的关键一点是,在大学和学院中为开源培养更多的支持者。”

标签: , ,

星期日, 五月 04, 2008

ZScreen - A Great New Open Source Screen Shot Utility

I've recently come across a great utility for taking screen shots of either your entire desktop or an application window. This program,ZScreen , is packed with features! I find I always need to take screen shots but I find it's always been a pain because not only do I have to take the screen shot, I have to open it in a graphic editor to grab what I need from it, then upload it somewhere. All in all a good screen shot takes me about 2 minutes. I was really excited when i came across this.

Features

Full Screen or Window Screen Shots - With ZScreen you can take either full screen or screens shots of your active window. This comes in handy if you don't want to waste space or image area with unnecessary content. You can currently do this with Windows' build in screen shot feature (Print Screen Key).

Screen Shot Cropping - You also have the ability to crop your screen shots with ZScreen. Using hot keys, your able to take a screen shot then, using your mouse, highlight the area you wish to capture instead of the entire screen or application window. Further giving you freedom to grab just the parts you want.

Editing Your Screen Shot - ZScreen also has the great option to automatically open your favorite graphic editing program to modify or notate the screen shot. This is handy if you need something to be highlighted, pointed out, or easily visibly in anyway. Complete freedom to manipulate your screen shot quickly. Closing / Saving the image automatically saves the screen shot as you've modified it.

Automatic FTP of Your Screen Shot - This is my favorite feature by far. ZScreen allows you to input your settings in the back end control panel for FTP access. If you set this up, your screen shots will be instantly FTP'd to your server of choice. The advanced configuration allows you to set it up to make it as easy as possible allowing you to specify the domain and path that the link will then be created with.

Links Placed In Clipboard - The next great feature is the clipboard addition. With every screen shot you take that is automatically FTP'd to your server / hosting, a link is placed in your clipboard for easy pasting over instant message, IRC, email or wherever you may need it. This allows who ever you send it to the ability to instantly see what you want to show them on your screen.

Hot Keys - You can also setup hot keys for your screen capturing which helps keep things simple by being able to specify between an active window shot or a full screen shot with the ability to crop. For instance, I've mine setup as Shift + Alt+ i

There are many more features that I haven't listed. If you are a person that takes screen shots as often as I do, definitely check this out. It's 100% free and open source. Very good work by my standards and highly recommended.

I absolutely love this application. Since I do the majority of my graphics work in Windows this is a perfect addition to the tools I can't live without. Big thanks to Brandon at BrandonZ.net for creating this.

You can find more information, screen shots, features, and downloads by visiting the ZScreen Page at BrandonZ.net

http://www.alfredfox.com/blog/Software/44/ZScreen_-_A_Great_New_Open_Source_Screen_Shot_Utility

标签: , ,

星期一, 四月 07, 2008

使用wxWidgets的开源项目

http://sourceforge.net/projects/multiget/

标签: ,

星期六, 三月 22, 2008

wxODBC(wxWidgets)中使用驱动程序方式打开数据库

wxWidgets的文档中都是使用在控制面板/数据源中设定DSN来创建ODBC连接。但是实际上很多小型的应用,只是使用本机的一个 Access数据库。而要求使用者学习ODBC的DSN配置明显的增加了软件的使用难度。因此,研究了一下wxforum.org中的帖子,试验成功!范 例如下:

wxDbConnectInf *DbConnectInf = NULL; // 定义数据库连接信息指针DB connection information
wxDb *PodDB = NULL; // 定义数据库连接指针Database connection
wxDbTable *table = NULL; // 定义数据表指针Data table to access

DbConnectInf = new wxDbConnectInf(0, wxT(""), wxT(""), wxT(""));//这里定义的内容基本没用,但不定义会报错

PodDB = new wxDb(DbConnectInf->GetHenv());

bool DBfailOnDataTypeUnsupported=!true;//
if(!DB->Open(wxT("DRIVER=Microsoft Access Driver (*.mdb);DBQ=D:\\pod.mdb;UID=admin;"),DBfailOnDataTypeUnsupported))//使用驱动 程序的方式打开数据库
{
if (PodDB->IsOpen())
{
// Connection is open, but the initialization of
// datatypes and parameter settings failed
return 0;
}
else
{
// Error opening datasource
//return HandleError(wxT("DB ENV ERROR: Cannot allocate ODBC env handle"));
return 0;
}
}
const wxString tableName = wxT("POD"); //定义要操作的表的名称
const UWORD numTableColumns = 8; //指出POD表中的列数(columns)
//建立到表的连接
table = new wxDbTable(PodDB, tableName, numTableColumns, wxT(""), wxDB_QUERY_ONLY, wxT(""));

//将存放提取数据的变量清空
wxStrcpy(pPodPictureInfo->Title, wxT(""));
......

//定义列的数据格式,和取出的格式。
//此处需要注意的是如果前面指明了numTableColumns为n的话,就一定要定义n条
table->SetColDefs(0, wxT("Pod_Title"), DB_DATA_TYPE_VARCHAR, pPodPictureInfo->Title, SQL_C_WXCHAR, sizeof(pPodPictureInfo->Title), true, true);
......

//打开表
if (!table->Open())
{
//An error occurred opening (setting up) the table"));
}

//限定取出Pod_When列值为1982的行(row)
table->SetWhereClause(wxT("Pod_When = '1982'"));

//按照PodDate字段排序
table->SetOrderByClause(wxT("Pod_Date"));

//根据上面的限定信息执行查询操作
if (!table->Query())
{
return HandleError(wxT("QUERY ERROR: "), table->GetDb());
//return 0;
}

while (table->GetNext())//提取查询到的行
{
wxString msg; // Used for display messages
msg.Printf(wxT("Row #% lu --\nTitle : %s\nPodDate : %s\nWhere : %s\nWhen : %s\nWho : %s\nDisc : %s\nRelated : %s\nPhotoName :%s"),
table->GetRowNum(),
pPodPictureInfo->Title,
pPodPictureInfo->PodDate,
pPodPictureInfo->Where,
pPodPictureInfo->When,
pPodPictureInfo->Who,
pPodPictureInfo->Disc,
pPodPictureInfo->Related,
pPodPictureInfo->PhotoName
);
//检查表操作/现实获取的POD信息
//wxSafeShowMessage(wxT("Pod_wxDbTable Test"),msg);
}

------补充一点------

在SetColDefs中关联的变量不能使用wxString,只能使用wxChar[n]等格式。

struct PodPictrueInfo
{
wxChar Title[100];
......

}

http://flord.net/wxwidgets_wxodbc

标签: ,

星期三, 三月 12, 2008

剖析:开源软件能够赚到钱吗?

中科红旗的总裁赵晓亮曾经用一个关于饮水的比喻来解释开源软件企业是如何赚钱的,大意是人每天都要喝大量的水,但饮水是在不同的环境下、不同的条件下进行的。虽然原料都是水,但性质已经发生了改变。而且水的加工程序越多,大家喝起来就越放心。Linux厂商也是同样的价值,大家的源头都是水,但水经过加工、处理,已经与原生态发生了很多变化,而且让喝水的人产生了很多安全感。安全感来自对生产瓶装水的厂商的品牌、技术实力的信任度,来自于对正规大厂的服务能力、可持续发展的信任度等。因此,“开源基础上的商业模式,应该就是服务的模式,通过增值服务来收取费用。”[张杰,中国计算机用户,Linux跨越分水岭 不仅是爱好者的天堂,2005年7月]


这一比喻乍看起来很有道理,似乎很能说明开源软件是如何赚钱的,但仔细一想,发觉并没有说到点子上:它说明的是开源软件公司的软件服务业务是如何赚钱的,并没有说明开源软件本身能不能赚到钱!
IBM、SUN、HP等公司大肆炒作“开源”,是因为它们可以销售出更多的基于开源软件的硬件;中科红旗、红帽、拓林思等公司不遗余力地推广“开源运动”,是因为它们可以销售出更多的基于开源软件的软件服务。不错,硬件和服务都可以赚到钱,这是毋庸置疑的,因为硬件也好,服务也罢,都属于传统的商品,遵循传统的商业模式。但这一切并没有说明开源软件——与传统的商业软件不同的特殊产品——能不能赚到钱。毕竟,开源软件和自然界中的水不同,是软件人员辛苦劳动的成果而不是老天爷的恩赐,如果不能赚钱的话是无法实现长久的可持续发展的。


在探讨开源软件能否赚钱之前,首先需要区分很多人都混淆不清的两个概念——“开源软件”和“自由软件”。这两个概念既有联系,又有区别。一个很重要的区别在于:开源软件是可以用来赚钱,而自由软件是不能用来赚钱的。
所谓“自由软件”,按照“自由软件运动”创始人斯托尔曼(Stallman)的定义,是具备以下四个自由度的软件:
(1)可以自由地运行;
(2)可以自由地拷贝;
(3)可以自由地修改;
(4)可以自由地再发行。
“自由软件”的英文名为“Free software”。而“FREE”在英语中有两个含义,一为“自由”,二为“免费”。斯托尔曼坚持“Free software”的本质是“自由”而非“免费”,并特意用“自由”的中文拼音“ZIYOU”来提醒我们广大的中国同胞不要将其翻译为“免费软件”。然而,笔者固执地认为,“Free software”的本质在于“免费”而不是“自由”。因为与自由软件相反的商业软件也可以让你“自由”地使用、拷贝、改写和再发布——只要你支付了足够多的钱!斯托尔曼之所有坚持使用“自由”这个词,笔者以小人之心恶毒地猜度其原因在于“自由”这个词显得比较崇高、比较有正义感,能够更多地得到人们的拥护和追随。
“自由软件运动”倡导软件这种知识产品应该免费共享,并创造出GPL(通用公众许可协议)这一许可协议来保证和保护同道中人彼此共享软件产品。GPL的基本原则就是:你可以“自由”地运行、拷贝、修改和再发行使用GPL授权的软件,但你也必须允许别人也能“自由”地运行、拷贝、修改和再发行该软件以及你在该软件的基础上加以修改而形成的衍生软件产品。“自由软件运动”强烈反对知识产权,尤其是知识产权中的专利权,明确反对以申请专利的形式将软件产品据为私人所有。为了表达对“知识产权”——Copyright——的憎恶,斯托尔曼生造了一个单词——Copyleft。
由此可见,由于自由软件的拥有者已经彻底地宣布放弃了自己对其产品的专利权利,因此,自由软件失去了成为商品的必要条件,自然也就无法通过商品交易的形式而赚钱,只能借助自由软件社区的成员的志愿劳动而加以延续。


“自由软件运动”所倡导的这种在软件领域内“我为人人,人人为我”的互助理念固然值得敬佩,然而,我们并不能因此而鄙视甚至非难那种利用软件的知识产权而大发其财的行为。毕竟,现在已经是商品社会,利益的刺激远比美德更能推动社会的进步。一些投身于“自由软件运动”中的先驱也逐渐意识到与商业组织应该更多地合作而不是对抗。因此,为了避免“Free”这一单词对商业组织的刺激,越来越多的人逐渐以“开源软件”来代替“自由软件”这一说法。
与“自由软件运动”不同,“开源软件运动”的反对重点并不是知识产权中的专利权,而是知识产权中的另一重要组成部分——对“商业秘密”(在软件领域中主要是软件的源代码)的保护。“开源软件运动”认为,对软件源代码的封闭和保护阻碍了创新思想的交流与共享,应该降低保护力度,甚至是完全开放源代码,使软件从业人员可以相互观摩、借鉴乃至重复利用别人的源代码,从而提高软件编程的效率,促进软件产业的发展。


对于知识产权中的专利权的保护,“开源软件运动”采取了宽容的态度。事实上,开源社区创建了好多种与GPL差别较大的授权许可协议。使用这类协议,软件产品的专利权可以得到一定程度上的保留,而不必像GPL那样完全彻底地放弃。软件产品的使用者可以方便地查看软件的源代码,修改源代码并作为商业软件再次发布和销售,前提是必须尊重原作者的著作权和专利权。这样,发布开源软件的人或公司也可以从中获利。当然,一些坚持纯粹的“自由软件”理念的人并不认为这种举动属于“开源”,而将其斥为“虚伪的开源”。


“开源软件”可以看成是“自由软件”与“商业软件”之间的一种折中,它既继承了“自由软件”所提倡的知识共享的理念,同时又允许人们以专利的形式从知识产品中谋取利益,从而保护了人们生产、创造知识产品的积极性。
由于开源软件所具有的这种特征,软件产品的开源已经成为不可逆转的潮流。越来越多的软件厂商,包括开源软件厂商和传统的商业软件厂商都逐渐接受了“开源” 的理念,迈上了“开源”的道路。例如,最近Sun宣布在CDDL协议下开放Solaris源代码,而微软在压力面前也不得不宣布实施“共享源代码”计划,用户可以在一定的前提条件下阅读部分产品的源代码。今年7月份,开源开发实验室OSDL总裁斯图亚特-科恩在接受访问时提到:“我预料随着开源软件的不断成长,微软也会将它的产品以开源的形式发布。”
http://linux.chinaunix.net/bbs/viewthread.php?tid=982618

标签:

星期四, 一月 24, 2008

Apcmag推出一月开源游戏TOP5

有没有想过免费的开源游戏同商业游戏一样的精彩?并且还能够根据您的需要度身订制哦。Apcmag网站为我们带来了2008年1月开源游戏TOP5,下面请您随我一起来看看。

  1. 《神秘玛莉历代记》(Secret Maryo Chronicles)

  让大家重温了美好时光,前身是“Super Mario Clone”,经典游戏Mario Brother的克隆版,基于SDL和OpenGL函数库让它可以在各个平台运行,同时这款游戏还有重绘的完整图像,新编曲的音乐。用户可以下载关卡编辑器,制作自己的关卡,如果反应不错就有可能整合进入官方版本。

  最新版的下载地址为:http://www.secretmaryo.org/index.php?page=new_1_4&sid=

  2. 《不明飞行物:异形入侵》(UFO: Alien Invasion)

  游戏发生在2084年,你控制了一个秘密组织来保卫地球,抵御外来敌人。建立你的基地,准备你的团队。这是一个小队战术策略游戏,结合军事写实与科幻学小说风格来描写外星人侵略。精心建造各种系统,控制你的小队。

  两个主要的游戏模式: geoscape模式和战术模式。

  在geoscape模式中,游戏主要任务是基地管理与策略——管理活动和财务状况,控制基地、设施、飞机、武装反应部队。研究新的技术来对抗外星人。启动您的拦截战机击落不明飞行物,并派遣dropships针对外星人的活动。你可以建造、购买、生产、geoscape模式有专门按键来控制时间的流逝速度和地球的转速。

  在战术模式中,指挥你的小队参与各项任务。战术模式采用了转动系统,而您的团队和外星人轮流做出动作。轮到你时,你可以命令你的部队四处走动,消防手中武器,投掷手榴弹或使用其他设备等,每名军人获得一定数量的时间单位。一切行动,在战术模式需要时间单位执行。
如果没有你,人类将陷于厄运。

  该游戏支持局域网或者英特网对战,最多支持6个玩家。

  3. 《Freeciv》

  是著名的回合策略游戏CivilizATIon(文明)的开源版本,其规则构架与《文明2》基本相同,并在游戏画面,操作和联网上作了许多改进。并且有简体中文版的呦。

  最新版的下载地址为:http://prdownloads.sourceforge.net/freeciv/Freeciv_2.1.2_OSX_SDL_UB.dmg?download

  4. 《Alien Arena》

  Alien Arena是一款第一人称3D射击游戏,基于id Software的QuakeII引擎,id在2001年以GPL许可协议开源,新版的Alien Arena增加了七个竞技场,拥有更好的武器,以及新的1vs1决斗模式。Linux.com称其为目前最好的开源游戏。

  最新版的下载地址为:http://red.planetarena.org/

  5. 《韦诺之战》(Battle for Wesnoth)

  韦诺之战是一款主要基于Python语言的回合制SLG游戏,使用SDL作为图形引擎,目前已经一直到了Windows、Linux、FreeBSD和Mac OS X等多种操作系统上,有16种不同部族,可以联机,最多支持8人在线。

  最新版的下载地址为:http://www.wesnoth.org/wiki/Download#Development_.281.3_branch.29

http://gamedev.csdn.net/page/72caa157-e464-4373-9314-af2c2c4dd7b6

标签: ,

辽ICP备05003652号
流风洄雪听天籁,轻云蔽日看落花

Powered by Blogger