Limin Fu (傅利民)
Home Projects Profile 中文版
主页 项目 简介 English Version

Welcome to my personal website.

I am Limin Fu, from Hunan, China. I have educational and professional backgrounds in multiple fields, and likes to work on challenging problems and develop interesting stuff.

Current Work

Craftica is a next-generation creative sandbox game with a near-infinite world represented by voxels and subvoxels. It is inspired by Minecraft, but it takes the voxel representation to the next level with multiscale subvoxels. Craftica currently supports both creative and survival modes.

Homepage: http://craftica.net

Craftica was started as a small experiment using subvoxels to create a virtual sandbox environment for a few projects I was working on or planned to work on. Though the result turned out quite positive, it took me a few months to finally decide to develop this experiment into an indie game, after some careful evaluation of the projects in my hands and progress estimation of the planned game.

This is my first time to develop a game, it turned out I had greatly underestimated the amount of work required to develop such game, so it took me a lot more time than I expected to develop this game into its current state. After two years development, it is finally ready for a Steam Early Access. It will soon become available on Steam: Craftica on Steam.

Some Other Work

Dao DaoStudio DaoGraphics CD-HIT FLAME
Programming Language and Virtual Machine Integrated Development Environment Graphics Engine High Performance Sequence Clustering Fuzzy Clustering Algorithm

欢迎访问我的个人网站。

我是傅利民,湖南人。 我有多学科的教育和专业背景,比较喜欢研究有挑战的问题并开发有意思的东西。

欢迎关注: 格物匠客@知乎格物匠客@B站

当前工作

开物天工(Craftica) 是一款基于亚体素的下一代创造类准无限世界沙盒游戏。这款游戏在从我的世界(Minecraft)汲取灵感的基础上,用多尺寸的亚体素把世界的体素表示提升到了一个新的高度。开物天工目前支持创造和生存两种模式。

主页: http://craftica.net

开物天工的最初原型来自于一个用亚体素创建虚拟沙盒环境的小实验,我当时只是想尝试做一个可以用于我当时在做的以及将来计划做的项目上的沙盒环境。尽管实验的结果很正面,我还是在几个月后才决定将实验原型继续开发出一款独立游戏。当时做这个决定时,我对手中的项目和计划的游戏都做了些评估,感觉游戏应该可以花更少的时间推出,也更容易推广,所以就决定先做这款游戏,后面再考虑继续之前的项目。

这是我第一次开发游戏,后来发现我最初大大低估了这样一款游戏开发的工作量。结果我花了比当初预期时间多很多的时间,才把游戏开发到目前的状态。经过两年的开发,游戏终于差不多可以在Steam上发布抢先体验版了。它将很快就可以从Steam上下载: Craftica on Steam.

部分其他工作

Dao DaoStudio DaoGraphics CD-HIT FLAME
程序语言和虚拟机 集成开发环境 图形引擎 高性能序列聚类 模糊聚类算法

I am from the Hunan Province of China. I studied Mathematics at Fudan University (Shanghai) in 1996. Then I studied Physics in graduate school for about one year also in Fudan before going to ICTP (Trieste, Italy) to study in a multidisciplinary master program in 2001. Two years later, I went to the University of Turin (Italy) for my PhD study, and worked in a lab located in its cancer research center.

After PhD study, I worked for about one year and half at the ISI Foundation (Turin, Italy), then I moved to University of California, San Diego in 2009. Since 2015, I joined Research Center for High performance Computing as an associate professor at Shenzhen Institutes of Advanced Technology (SIAT). Then I left SIAT at the end of 2016 and founded a startup.

我来自中国湖南。 我本科就读于上海复旦大学数学系(96级)。 研究生期间在复旦读了一年物理硕士,然后去了在意大利Trieste的 ICTP(国际理论物理研究中心,下属联合国教科文组织) 参加一个跨学科的硕士课程(2001)。 两年后又去了意大利都灵大学读博士(2003), 并在下属都灵大学的肿瘤研究治疗中心做生物信息方面的研究。

2007年底博士毕业后我在都灵ISI Foundation做一年半研究。 之后于2009年去了加州大学圣地亚哥分校做博士后研究。 从2015开始,我作为副研究员加入到了中国科学院深圳先进技术研究院(SIAT)的 高性能计算技术研究中心。 2016年年底,我离开SIAT开始创业。

Software Projects:

Programming has been an integrated part of my work (and my hobby:)) since graduate school, so over the years, I have created a number of open source projects. Most of them are related to Dao, but in attempt to create various modules and bindings for Dao, I managed to expand the projects to touch various types of libraries and applications.




Current

Visual programming language, virtual robot and creative game. (Not yet ready to release).

Dao - Programming Language and Virtual Machine

Dao is a lightweight and optionally typed programming language with many interesting features. It includes features that can make concurrent programming much simpler. It has well designed programming interfaces for easy embedding and extending.

  • Optional typing with type inference and static type checking;
  • Object-Oriented Programming (OOP) with classes and interfaces;
  • Code section methods as a better alternative to functional methods;
  • Native support for concurrent programming;
  • Concurrent garbage collection;
  • Support closures and anonymous functions;
  • Designed and implemented as a register-based virtual machine;
  • Portable implementation using standard C;
  • Simple C programming interfaces for easy embedding and extending;

Size: about 68K lines of C codes.
Links: daoscript.org, github.com/daokoder/dao.


DaoJIT - Just-In-Time (JIT) Compiler Using LLVM


ClangDao - Automatic Binding Tool Using Clang Frontend

ClangDao is a tool that can be used to automate the generation of Dao language bindings from the header files of C/C++ libraries. It uses the Clang (clang.org) frontend to parse header files. It has been used to generate bindings for over a dozen of libraries.

Size: about 8K lines of C++ codes.
Links: daoscript.org, github.com/daokoder/dao-tools.


DaoStudio - Integrated Development Environment for Dao

DaoStudio is an integrated development environment for Dao. It uses the Qt4 framework.

Size: about 11K lines of C++ codes.
Links: daoscript.org, github.com/daokoder/daostudio.


DaoGraphics - Dao Graphics Engine


DaoSQL - Module for Accessing SQL Databases


CD-HIT - DNA/Protein Sequence Clustering Program

CD-HIT is a popular program for clustering DNA/protein sequences originally developed by Dr. Weizhong Li. It implements a greedy algorithm to cluster sequences incrementally and efficiently. I toke over the development in 2009 and rewrote most parts, in addition, I developed a novel parallelization technique that can speedup the clustering algorithm almost linearly on multi-core machines.

Links: cd-hit.org, cdhit.googlecode.com.


FLAME - Fuzzy clustering by Local Approximation of MEmberships

This FLAME is NOT the malware discovered in 2012:), it is a data clustering algorithm I developed some years ago. FLAME defines clusters in the dense parts of a dataset and perform cluster assignment solely based on the neighborhood relationships among objects.

Links: flame-clustering.googlecode.com.


GEDAS - Gene Expression Data Anlysis Studio


软件项目:

从研究生阶段开始,我的学习和工作(以及主要爱好)就和编程密不可分。 因此,这些年来,我创建了不少开源项目。 其中最大的是Dao程序语言开发项目,其它项目也大都和Dao程序语言相关, 目标是建立一套Dao语言能使用的模块和工具。 这些项目的开发过程,使得我有机会涉猎不少不同的领域及相关的库和应用程序。





当前项目

可视化编程语言,虚拟机器人和创造性游戏。(暂不适合发布)

Dao - 程序语言和虚拟机

道(Dao)语言是一个轻量级、支持可选类型标注的程序语言。它支持很多高级特性, 对基于多核的并行编程有很好的支持。它的C编程接口简单易用,方便嵌入或扩展。

主要特性:

  • 支持可选类型标注,类型推导和静态检查;
  • 支持基于类和接口的面向对象编程;
  • 支持代码块方法(类似函数式方法);
  • 支持闭包和匿名函数;
  • 对并行编程有内置的原生支持;
  • 有基于同步垃圾回收的内存管理;
  • 设计和实现为基于寄存器的虚拟机;
  • 使用跨平台的标准C实现;
  • 有简单易用的C编程接口,方便嵌入或扩展;
  • 有基于LLVM的及时编译器;
  • 有基于Clang的自动封装工具;

代码规模: 约 6.8 万行C代码.
项目链接: daoscript.org, github.com/daokoder/dao.


DaoJIT - 基于LLVM的即时编译器


ClangDao - 基于Clang前端的自动封装工具

ClangDao是一个可以从C/C++库的头文件自动(或半自动)地生成Dao语言的捆绑封装的工具。 它使用Clang(clang.org)前端的来解析C/C++头文件。 它已被用来生成十多个库的封装模块。

代码规模: 约 8 千行 C++ 代码.
项目链接: daoscript.org, github.com/daokoder/dao-tools.


DaoStudio - Dao语言的集成开发环境

DaoStudio是Dao语言的一个集成开发环境。 它基于服务器-客户端模式;带调试器; 编辑器和控制台内语法高亮;支持类VIM编辑模式。 使用Qt4框架开发。

代码规模: 约 1.1 万行 C++ 代码.
项目链接: daoscript.org, github.com/daokoder/daostudio.


DaoGraphics - 图形引擎


DaoMake - 基于Dao的编译工具

DaoMake 是一个类似于CMake,但基于Dao的编译工具。 它的主要优点是:简单方便的语法;设计比较干净;可方便地根据编译平台和环境作定制; 能自动生成安装和卸载目标。

项目链接同Dao,以Dao的标准工具形式存在(dao/tools/daomake)。 代码规模约 4 千行行 C 代码。


DaoSQL - SQL数据库访问模块


CD-HIT - DNA和蛋白质序列聚类

CD-HIT 是一个比较流行的用于DNA和蛋白质序列聚类的程序。 此程序最初由李维忠博士开发,使用了贪婪优化算法实现了高效的增量聚类。 我从2009年开始对CD-HIT里的算法做改进,并重新设计实现了该程序的大部分。 这项工作中我开发了一个新的并行技巧,使得CD-HIT能在多核计算机上实现准线性的加速。

项目链接: cd-hit.org, cdhit.googlecode.com.


FLAME - Fuzzy clustering by Local Approximation of MEmberships

FLAME 是我读博时开发的一个新的数据聚类算法。 这个聚类算法的创新点在于通过构建数据点的邻近图,并在图上作类成员向量的 局部近似优化而算出数据点的最优模糊成员向量;通过这种方式,最终的聚类结果 能保留原始数据的局部拓扑结构。

项目链接: flame-clustering.googlecode.com.


GEDAS - Gene Expression Data Anlysis Studio

Fields of Interest:

Machine learning, pattern recognition, combinatorial optimization, computer graphics, computer vision and their applications in bioinformatics (and any other exiciting fields).

Mostly as hobby, I am also interested in programming language design and implementation. Recently I also find robotics very interesting, maybe this will become another hobby of mine:).

Publications:

专业兴趣:

模式识别,机器学习,组合优化,计算机图形图像, 计算机视觉和相关技术在生物信息(或其它一些有意思的领域)里的应用。

作为爱好,我也对计算机程序语言的设计和实现很感兴趣。 现在我也对机器人学很感兴趣,可能会成为我的另一个主要爱好:)。

论文:

请参看 我的Google学者页面 (须翻墙)。

Educations

  • 1996-2000, Fudan University (Shanghai), Mathematics (BS)
  • 2000-2001, Fudan University (Shanghai), Physics
  • 2001-2003, ICTP/SISSA (Trieste, Italy), Modeling and Simulation (MS)
  • 2003-2007, University of Turin (Italy), Bioinformatics (PhD)

Experiences

  • Institute for Science Interchange (ISI), Turin, Italy
    Junior Researcher, 2008-2009
  • University of California, San Diego, USA
    Postdoctoral Associate, 2009-2013
  • Shenzhen Institutes of Advanced Technology (SIAT, CAS), Shenzhen
    Associate Professor, 2015-2016

Preferred Tools

  • Computer Desktop: Mac OS X;
  • Programming Platform: Linux (Unix-like);
  • Programming Languages: C, C++ and Dao;
  • GUI/Application Framework: Qt;
  • Version Control System: Fossil;
  • Text/Code Editor: VIM;
  • Image Editor: GIMP;
  • Document Preparation System: LaTex;

Things I Like

  • Paintings: my favourite paintings are from Van Gogh;
  • SF Novels: my favourite is I, Robot from Isaac Asimov;
  • Weiqi (Chinese Go): a perfect board game from ancient China;
  • TV Series: The Big Bang Theory, Friends, Star Trek (TOS, and NG), Stargate (SG1);

教育

  • 1996-2000, 复旦大学 (上海), 数学 (学士)
  • 2000-2001, 复旦大学 (上海), 物理
  • 2001-2003, ICTP/SISSA (意大利Trieste), 建模与模拟 (硕士)
  • 2003-2007, 都灵大学 (意大利都灵), 生物信息 (博士)

经历

  • Institute for Science Interchange (ISI), 意大利都灵
    Junior Researcher, 2008-2009
  • 加州大学圣地亚哥分校
    Postdoctoral Associate, 2009-2013
  • 中国科学院深圳先进技术研究院
    副研究员, 2015-2016

喜欢的工具

  • 桌面系统: Mac OS X;
  • 编程环境: Linux (Unix-like);
  • 编程语言: C, C++ and Dao;
  • 图形界面库: Qt;
  • 版本控制: Fossil;
  • 文本和代码编辑器: VIM;
  • 图像编辑器: GIMP;
  • 文档编写工具: LaTex;

喜欢的东西

  • 绘画: 最喜欢梵高的画;
  • 科幻小说: 最喜欢Isaac Asimov的I, Robot
  • 围棋:完美的棋类游戏;
  • 电视剧: The Big Bang Theory, Friends, Star Trek (TOS, and NG), Stargate (SG1);
Copyright (C) 2013-2020, Limin Fu