星期日, 四月 20, 2008

Windows下的免费软件

 

开发系统:

Cygwin

Windows下的UNIX环境模拟

MinGW

Windows下的gcc port,原生,包含msys小工具集

Dev-cpp

Windows下的c/c++IDE,使用MinGW

Eclipse

集成开发环境,主要是Java,插件支持众多语言

Netbeans

SUN的集成开发环境,支持语言不如Eclipse

Visual Studio Express

MS的免费编译器,不支持MFC,可以用.Net

Qt

图形库,使用MinGW,原生

JAVA

本为跨平台而生

KDE for Windows

KDEWindows port,为KDE程序提供支持

动态语言:

Python

脚本语言,有众多的模块,可能用到的如下:
enthought_python ffmpeg matplotlib MayaVi numpy PIL pyfits PythonMagick PyX scipy VPython VTK wxPython

Perl

ActivePerl,有庞大的CTAN

Tcl/TK

命令行、图形交互界面的简单实现

科学软件:

Octave

Matlab的开源版本,语法几乎兼容

SciLab

类似Matlab的语言,语法接近,并不完全兼容

Maxima

Lisp语言写的,计算机符号计算的鼻祖,包含wxMaximaXMaxima图形前端

QtiPlot

相当于简化版开源Origin,需要自己编译,MinGW+QT

GNUPlot

命令行模式的Plot工具

R

命令行统计软件

Visit

三维可视化

文档编辑:

Texlive

Tex/latex实现,xelatex/xetex实现系统字体支持

OpenOffice

典型的Office替代软件,期待3.0的表现,希望OXML的开放能促成兼容性的提高

Vim

viwindows portvi流的最爱

NtEmacs

emacswindows port

Npp

台湾人写的一个开源编辑器,适于用other编译器的人

Pspad

长的很像ultraedit

BullZip
FreePrimo
PDFCreator

PDF虚拟打印机,可以从任何程序输出PDF

LyX

Tex辅助编辑器

Kile

Tex辅助编辑器,需要KDE支持

图形图像:

Picasa

Google的免费图片查看器,一定得图片编辑能力

Live Photo Gallery

Vista的人就不用看了

Paint.Net

号称免费的PS,当然不及PS

Gimp

Linux下著名的PS替代,当然也有Windows版本

VirtualDub

开源视频编辑器,很强大

系统软件:

CDBurnerXP

刻录软件

7zip

开源的压缩软件,也有自己的压缩算法

StarDict

开源辞典

antivir

俗称小红伞,个人版免费,杀毒,就是更新的时候有专业版广告

Avast

最早支持vista的一批杀毒软件,Home免费

DaemonTools

Lite版本免费,虚拟光驱软件

FileZilla

开源的ftp客户端和服务端,不过似乎只支持Unicode

VirtualBox

开源的虚拟机,现隶属于SUN

Vmware player
Vmware Server

虚拟机,这两个版本免费

TightVNC

远程桌面

星期三, 四月 16, 2008

编译Win版本Qtiplot

以前我有篇叙述如何编译Linux版本的Qtiplot的文章,现在介绍一下Win下面编译的过程,仅供参考,Linux下已经直接提供了可运行得免费版本了。需要注意,系统应安装好了Qt和MinGW,并且所有操作在Qt Command Prompt下执行(环境变量包含Qt和MinGW的bin目录)。所有编译的库为静态库版本。

  1. 下载qtiplot qwtplot3d gsl muparser源码包
  2. 解压缩所有文件夹,把库文件都放到qtiplot的3rdparty目录下,并去掉版本号,加上自带版本,目录如下:
    gsl、liborigin、muparser、qwt、qwtplot3d、zlib123
  3. 编译Qwt:自带的Qwt已经把qwtconfig.pri中的CONFIG += QwtDll注释了,所以不需要修改,直接在qtw目录执行qmake和make命令。如果是自己下载的,需要注释这么一句,编译成静态;
    同时设置CONFIG           += release,表明编译为release版本
  4. 编译qwtplot3d:注释掉qwtplot3d.pro中的win32:TEMPLATE    = vclib,因为我们使用的是MinGW,如果使用msvc就需要注释了;
    CONFIG           += qt warn_on opengl thread zlib debug,把最后一个参数debug改为release,编译release版本,debug版本有37M,release才600K不到;
    按照linux下面的编译说明,需要编译为静态的,但是切记在win下不需要,否则会出现opengl库未定义的情况,为此我郁闷了好久,无意中弄好的。然后仍然是qmake和make;
  5. 编译muparser:进入muparser\build目录,运行mingw32-make -fmakefile.mingw,默认编译静态release版本库,需要更好则修改makefile.mingw;
  6. 编译gsl:首先要保证安装了msys和msysDTK,这是MinGW平台的工具集,主要提供bash及开发所需要的工具。然后使用这个环境编译gsl,./configure --prefix=存放目录,make,因为默认同时编译静态库和动态库,所以不需要更改什么,直接把存放目录命名为gsl放到3rdparty下面就可以了,目录里面需要包括include和lib文件夹;
  7. 下载zlib123预编译版本,放到原有的zlib123目录下,minigzip.c和zdll.lib都需要有;
  8. 编辑qtiplot目录下的qtiplot.pro: 屏蔽SCRIPTING_LANGS += Python,取消Python语言支持,因为总是需要特定版本的Python和SIP才能用,暂时不需要这个功能。然后qmake,make

经过漫长的等待,就可以看到qtiplot.exe啦。运行需要把qwtplot3d.dll拷过来,当然还需要一大堆的Qt库,在自己机器上,就只要把Qt的bin目录加到PATH环境变量里面去。需要注意,Matlab2008也带有一个不同版本的Qt库,所以要把Qt库放到可能有Qt库的路径前面,要不然会出现找不到入口的错误。

然后……你就有一个origin的替代品了,如果用得好,可以考虑捐助一下,哈哈

星期六, 四月 12, 2008

Eclipse

莫名其妙的跟别人谈起来用Android平台做开发,然后就想着是不是自己也看看,虽然Android SDK早就下过了,但是还是只用过那个模拟器,都没看过SDK怎么玩的。索性上网找了开发环境,就是Eclipse加Android插件就可以了,既然如此,不如玩玩Eclipse。

Eclipse是IBM的开源IDE,有无数的插件,能支持n种开发语言,新的IDL7.0就是基于Eclipse的,所以也不算太陌生。相传,这是IBM为了在气势上压倒SUN,所以选择了Eclipse(日食),哈~~

下载了Eclipse 3.3.2 J2EE版,没有中文语言包(3.2.x倒是有很完善的,包括帮助,不过对于喜欢新版本的我来说,还是选择了新的)。在默认的Update站更新安装CDT支持C/C++语言,我很早就装过Cygwin,CDT可以使用Cygwin版本的gcc。然后是安装其他各种我需要的语言插件,安装还算简单,一般情况就是在Help->Software Updates->Find and Install->Search for new features to install,添加给出的升级地址,然后选择自动安装就可以,有点类似yum apt之类的东西,下面是我安装的一些插件:
Android       https://dl-ssl.google.com/android/eclipse/   Google手机OS开发环境
PDT           http://download.eclipse.org/tools/pdt/updates/   PHP开发
pydev        http://pydev.sf.net/updates/   Python集成开发环境
Texlipse      http://texlipse.sourceforge.net/  TeX/LaTeX支持
然后是Fortran,这个稍微有点麻烦,因为没有更新站点,先在http://www.eclipse.org/photran/download.php下载Photran Feature包,然后解压缩至eclipse下的随便一个目录,例如photran-4.0-beta3-incubation,然后在该目录下新建目录eclipse,把原先的两个目录features和plugins移动到eclipse目录里面,同时在eclipse的目录下新建空文件.eclipseextension(要到命令行下面),之后Help->Software Updates->Manage Configuration->Add an Extension Location,选择刚才的photran-4.0-beta3-incubation目录,然后会要求重启,这样就把Photran装好了。
QT。在http://trolltech.com/developer/downloads/qt/windows下载opensource版本的QT for Windows,在http://trolltech.com/developer/downloads/qt/eclipse-integration-download下载Qt Eclipse Integration。先要安装MinGW,因为Windows版本的QT使用的是MinGW gcc,然后安装QT,选择MinGW的时候会提示需要正确win32api.h,不用理会,是QT安装程序识别不出新版本的MinGW,装好之后记得把MinGW的bin目录添加到环境变量PATH中,这样再安装Qt Eclipse Integration,就不需要使用它的开始菜单中的Start Eclipse with MinGW了,因为这个总是会修改eclipse的工作目录到默认路径,很不爽。
顺便唠叨一句,cygwin和MinGW的不同,我在看了仅有的一些讨论,觉得,Cygwin是为了提供一个Unix模拟环境,MinGW是把gcc port到了windows;使用上来说,Cygwin的程序要带有cygwin1.dll,就跟DS9一样,但是MinGW使用的是MSVCRT,就不依赖自己的运行库,同时也是原生的Windows程序;目的上,要在Windows下开发Linux程序选择Cygwin,要在Windows下找个开源编译器写程序就还是MinGW。

Eclipse还有perl lua等脚本开发插件,也还可以将sqlite mysql oracle等数据库连接上去。总之,eclipse插件实在太多了,不过我可不想状态多以至于启动速度比VS2005还慢,不过eclipse有个好处,不需要安装,所以也可以选择安装多个版本的eclipse,冲突的可能少一点,启动速度快一点,牺牲一点硬盘空间。

星期四, 四月 10, 2008

Joomla 1.5 native

Joomla 1.5发布之后,很快就出了两个bugfix版本,现在已经到1.5.2了。新框架带来的麻烦就是插件需要重写,这是一个庞大的工程,但是就目前的状况来看,发展速度超过了当初的预期——很大一个原因就是开发者发现,力图让老的系统安全跑在legacy模式下比新开发一个还要麻烦。

Remository很早就出了原生的J1.5版本,因为legacy模式和原生模式的插件不能共存,所以还是需要找其他的原生插件,期望它们升级,当然也因为新的框架出现了很多新生的插件。CB,最近还处于1.2Beta,原因就是他们提早进入了原生1.5的环境,大概是beta4以后决定要原生的,所以还要等一段时间,不过应该不会太漫长。1.0下面用fireboard习惯了,觉得这个比整合论坛要好,如果不是要求做一个大型论坛的话,灵活性很强,也不会出现整合论坛的那些麻烦;不过现在似乎都没有什么动静更新到原生1.5的版本,Firemessage也是coming soon状态很久了。还有曾经用的zoom,连网站都关掉了,看样子是很困难了。

重新在joomla extension网站搜索了一番,把所有1.5 native的组件都看了一遍,倒是找到几个不错的东西:
Joomla Advanced Message,不错的站内信件系统,支持不错,那个messaging太过简陋了,忽略之;
JFusion,还在alpha,是个多平台整合工具,现在主要是各种论坛,但是其可扩展性说明还有很大的发展空间;
Joomfish到2.0Beta了,1.5的多语言环境有保障了;
Jootags,多少可以弥补一下只有双层目录的遗憾(想不明白到1.5了怎么还在用section+category的分类模式),tag也是google很喜欢的模式;
ChronoForms,生成表单,还不会用,理解上可以作为会议注册的工具;
expose,flash照片库,习惯了zoom,其实这个要更好一点,当然弹出全尺寸照片的时候要有lightbox的效果会更好;
JEvents,反正这类东西都差不多,一个日历,可以记事,没什么特别的,只是支持原生模式;
joobb,这个很有意思,高度修改和内嵌的Bulletin Board,基本实现了Fireboard的模式,只是外观啊什么的没有配套上来,也还只是测试版本,不好做production;
swmenufree,这个居然也很快更新了,虽然用的不多;
JACLplus,hack方法的权限管理,但是我还是希望Joomla能内置这个功能,毕竟hack出来的稳定性要差一点。

这些就是我草草测试了一下的组件,基本网站功能可以实现,现在还是差CB,Joobb和Fireboard都还是需要更新的。

星期日, 四月 06, 2008

IDL Volume Rendering效果

看了好多天,重新学习了一下IDL的对象图形系统。因为直接图形系统没有volume rendering能力,又不喜欢用ivolume或者xvolume这样的工具,不方便制作动画,所以还是选择了用IDLgrVolume来画图。数据是gracos模拟的结果,转换成体密度分布,上个效果图吧,好歹是几天的成果。

fin