.Net under unix-like systems: mono

MS看着Java凭借着可移植性占领了广大的市场,自然不甘心,于是搞出了.Net——MS版Java。实话说,.Net和Java很多地方差不多的……由于.Net需要可移植性,因此.Net程序里面其实并不是机器码——实际上是MS的一种中间代码,也就是经过了一半编译过程的代码。既然是独立于系统的,.Net也就很容易被移植到MS没有兴趣/不想移植的系统上。由此,mono便诞生了——可以在Linux/BSD/unix-like上跑.Net程序。貌似mono自己写了.Net的一大堆类库(当然很多还没有写出来…… 但可以混混了~)。从前装好mono,运行的时候,报告gdiplus.dll找不到。我把Windows下面那个搬到了很多地方,都没有用。今天再试,突然想到可能需要原生的gdiplus,一看,果然发现有libgdiplus这个port,装好之后出现了gdiplus.so等。再运行,就没有原先的问题了。但是,mono的不完整的实现还是限制了使用…… 我用它运行从前写的ReadAsBmp程序(能够把一个文件的任何部分当作Bmp处理等),基本上可以用,但是PictureBox的Load() mono 没有实现,载入外部图像的时候就挂掉了。而另一个 NewLines 程序 (其实功能和常见的WinLinez差不多,五个珠子连起来就消掉的小游戏,为了解决自动缩放/存盘/跨平台等功能而自己写的,给我妈玩……)由于Form.set_MainMenuStrip() mono  没有实现,窗口都没出来就挂掉了,看来目前还不能使用菜单部分啊~总的来说,mono 已经不错了,只要能够完善类库,比起Java还是很有竞争力的。

22届创新大赛的计算机项目……

一等: 个性化网络消息发布监视器研究与实现:初中 实际上就是定期去抓网页,然后看上面有没有预先指定的文字…… 不过毕竟是初中么。 CoolerSE中文站点搜索引擎:高中 做了个搜索引擎,没问出来比Google/Baidu这种有什么好的。 二等: 特殊符号输入与管理系统:初中 我们在SSKZ做项目的时候,这位同学有时候也在。也就是一个应用吧,用来输入特殊符号。 移动存储设备快速运行及维护系统:高中 基本上就是一个备份软件么。 利用可移动驱动器序列号验证身份:高中 首先,这个东西已经有了。其次,这种东西的序列号是可以改的。另:这个东西的服务器是用Python写的,作者是搜索引擎那个项目的选手。搞Python的也是好同学~ 网络语音实时传输及音量电平计的研究:高中 这位同学说起话来很强,和我说“这个很难的”…… 我问他,QQ、MSN早就有这个了,你这个有什么好。他的理由是:QQ/MSN需要到服务器转发,比较慢,他这个是通过局域网直接传输过去的。他怎么知道QQ/MSN就不会直接传输…… 而且直接传输的技术成本一定低于服务器转发,所以他这个有什么好嚣张的呢…… 而且还不压缩,号称使用了“**缓冲队列”,就是环形队列么…… 基于网络硬盘创建小型网络服务器的实践:高中 网络硬盘原来有个小的ROM,里面有个Linux Kernel和一小部分应用,从而提供网络服务器功能。这位同学改了一下,让那个Kernel能够挂上硬盘后从硬盘继续启动(原来就是网络硬盘服务器,估计原来就能挂)。毕竟是摆弄Linux的好同学么~ 盲人寻物智能语音提示器:高中 就是你吼一声“钥匙”,钥匙那边会有反应。不清楚怎么做语音识别的,毕竟是个单片机么…… 要么是靠某种采样机制,不清楚精确度如何。 三等: 车队管理信息系统开发:高中 也是个应用。 基于文件系统的超级计算模块:初中 我怀疑这位同学不知道虚拟内存这种东西。 计算机局域网抓屏监视系统:高中 定期抓个屏,发出去。我还见过动态传输的…… 还记得去年还是前年的“Google泄漏网络摄像头”事件吧。 乘车刷卡手机:小学 把交通卡的核心剪下来,加个壳插在手机里…… 小学生做这个也不错。 智能自学五子棋下棋算法研究:高中 不清楚怎么会是三等的,按照展板,他用的是极大极小算法,这个是常见的博弈类问题算法,但是他用神经网络进行自主学习,虽然我对他在这样的情况下如何保持效率表示不解,但假如是真的话,怎么说也比那边搞语音传输的强吧…… 一种自动并行处理模型的建立及优化:高中 我不了解这个东西,有几人和我说这个东西是错的,而且据说有个教授到他们展台前面大批了一通。不作评论。 没看见什么实质上的创新,大概学生也只能这样了吧…… 本文仅代表个人观点,不得转载。

复旦听课见闻

周一晚上去听管理学基础,按照复旦课表时间是9-10,晚上6:30开始。毕竟是第一次去,还是有一定的不确定因素的。 进去的时候,大概位子有七成被占了,我们坐在最后一排,想着会不会被赶出去。人越来越多,开始的时候,虽然我觉得没有位子了,但总是能从某个地方出乎意料地出现几个位子。但是到最后,彻底没有位子了。我们也研究出来了:不止我们两个人是近来混的。有很多人也是没有选,自己跑进来旁听的。这个我们就安心了,要么一起轰出去(估计不会),要么就遵循“先来后到”的原则。最后老师让晚来的人自己搬椅子,这个问题就解决了。不过我看过,那个教室一共48个座位,课表上写50个人选,比较奇怪…… 上管理学基础的老师资历比较丰富,上课也很风趣,但是会讲着讲着就说起别的什么事情,然后来回来,如此重复。总的来说上的还是不错的,可能是因为是第一堂课,讲的是Introduction,所以比较水。学到了一些东西,比如管理学和经济学的差别,等等。 周二早上听大学物理。因为已经在讲大学物理(下)了,所以一开始就讲电磁学。我们听了一会儿,就觉得讲得浅,讲了一节课讲到了库仑定律,主要可能是搞过竞赛物理的关系。于是我们第一节课下课就跑了出来。另一方面是我肚子出了些问题…… 3-4节听的是国史概要,也是别人推荐的。我们听的是第一节课,讲的基本上是有史料记载以前的时代。学到了很多,有兴趣听下去,就是不知道下周能不能听。 今天早上听高等代数,结果两节课(90分钟)就讲到第二页,还只有一部分…… 反正就是证什么都要从各个角度,全方位地证明,还要举数个例子…… 听起来太没效率了…… 接着听高等数学,也是(下),所以一开始在讲二次形。我们原本预计会从数学分析那部分开始,结果线性代数部分还没讲完…… 结果就是我不知道二次形是什么东西,只好拿出刚买的高等代数教材出来研究。听了一会儿,似乎跳到行列式了,然后是二项式…… 总之就是思路转换很快,有一些收获,但是多半听不懂。 下午听WYH老师的集合于图论,前面一直在讲集合基本运算,讲了半天只讲到容斥原理…… 也不知道他认出来我没有。似乎后面会有更好的内容,我看见有一些悖论的东西…… 估计有点意思。 现在正在复旦听9-10的Linux操作系统,讲的比较无聊,主要是有机抄~

Maple Windows version running on FreeBSD!

终于成功地在FreeBSD上跑起了Windows版的Maple! Maple的界面部分是基于java的,内核不是。所以界面用FreeBSD Native JDK跑,内核用Wine跑,速度还是可以的,但估计比Linux版慢一些…… 先在Maple目录里建一个脚本,命名maple(为了简便),然后输入: java -Xmx567m -Ddefault.browser=”firefox %1″ -cp “java/mapleresource.jar:java/mapleresource_ja.jar:java/openviz2.jar: java/plot.jar:java/mapleclient.jar:java/maplewks.jar:java/mathdoc.jar: java/mathworksheet.jar:java/mail.jar:java/pen.jar:java/jai_codec.jar:java/jai_core.jar: java/WMFWriter.jar:java/wksloader.jar:java/mathxmltools.jar:java/mapletbuilder.jar: java/MapleActivation.jar:java/xercesImpl.jar:java/xmlParserAPIs.jar:java/xalan.jar: java/externalcall.jar:java/freehep-base.jar:java/freehep-graphics2d.jar: java/freehep-graphicsio-ps.jar:java/freehep-graphicsio.jar:java/freehep-graphicsio-pdf.jar: java/update.jar:java/jniwrap-2.5.jar:jre/lib/rt.jar” -Dmaple.bin.path=”/d/tools/math/maple/bin.win” com.maplesoft.worksheet.application.WmiWorksheet (不要换行) 这些都是参考了bin.win/maplew.exe的出错信息得到的。最后一个rt.jar是参考了前面那些库之后运行的出错信息得到的(里面说apache的XmlParserImpl找不到…… 基于一定在这里的信心,终于靠枚举找到……) 然后,运行它,你能看见界面出来了。但是,随便建一些东西,回车看看:出来一个“Waiting for kernel connection…”的框。命令行那里能够看见,原来是server不能启动,它启动的是maple.bin.path里面的mserver。所以在bin.win里面建一个脚本,叫mserver,内容如下: wine mserver.exe $* 1>stdout.txt 2>stderr.txt 再启动试试~ Maple出来了吧~ 随便算一个东西,也可以了~Old Blog Link: http://computer.mblogger.cn/henryhu/posts/61997.aspx

Maple for Win running on FreeBSD!

终于成功地在FreeBSD上跑起了Windows版的Maple! Maple的界面部分是基于java的,内核不是。所以界面用FreeBSD Native JDK跑,内核用Wine跑,速度还是可以的,但估计比Linux版慢一些…… 技术细节可以参看My Tech Blog。 这下Mathematica和Maple都跑起来了~ 虽然Mathematica的字符显示还有些问题,但是…… 毕竟基本上都可以用了~ 不用装For Linux版本了……