drawRect:

为什么有人崇拜毛泽东

| Comments

转自 知乎

当他来到这个项目组的时候,这个项目已经持续开发了300多年了,有多达4亿多行代码,架构混乱垃圾代码遍地 大部分时间都无法编译,即使偶尔能编译也基本不能运行,整天到处崩溃,bug多到改不完甚至连bug管理系统都满是bug。 项目管理者根本没有任何管理能力,他们有些是从爷爷的爷爷的爷爷那里继承的管理职位,有的是靠身体强壮强行霸占了一部分模块的所有权。 底层工程师没有经过任何培训,别说写代码,很多连算术都不会,拿着微薄的薪水连本培训教材都买不起。 有些在其它公司上过几天培训班的所谓大师级工程师,整天抱着本设计模式到处指指点点,实际上他们连hello world都不会写。 一群年轻的工程师下定决心要拯救这个项目,而他被选为首席工程师。

虽然他已经离开快四十年了,但现在系统里所有严重bug还是默认分配到他名下。

2014 Resolution

| Comments

Saw a friend receiving his 27 inch monitor and joking that his 2014 resolution is now 1920x1080 :)

Here I just write down my informal resolutions.

  • Build several Gundam models and command some basic building skills.
  • Read SICP and learn Scheme.
  • Correct the way using chopsticks. As a native Chinese, I feel a bit shame that I can’t use chopsticks very well due to the incorrect gesture.
  • Lose some weight.

Thoughts on Front-end and Back-end Development

| Comments

  • Front-end development

    • If something works unexpectedly from the framework, it always suggests a framework bug.

    • Using the application framework is a great way to learn how to architect software.

    • A lot of bugs and a big amount of bugs are low hanging fruit. But some nasty ones(Framework bugs) are really hard to fix perfectly.

    • Work on something people will see and use directly. While the work always requires the corporation with product managers and designers.

    • Since it deals with human, it’s more of an art than pure engineering.

  • Back-end development

    • If something works unexpectedly from the underlying libraries, it might suggest a design compromise. Further thought leads to the better understanding of the system.

    • Using the library is a great way to learn library/interface design.

    • Much less bugs. Bugs are normally serious and have big impact. Some bugs require a lot of effort to fix.

    • Work on something people are not aware of normally. Engineers rule everything.

    • It largely depends on the engineering skill.

If the whole engineer team is an army, then Back-end engineer is the artillery, while front-end engineer is the infantry. Becomes good at either of them requires a lot of effort.

Tableau

| Comments

One side effect of working on FileMaker Pro is raising my bar to appreciate other software. I only consider a very limited number of software as ingenious. Dropbox, Markdown Pro, Notational Velocity, Evernote(Unfortunately, it keeps getting worse). Recently, I came across another one which I really appreciate, it’s called Tableau. It’s probably my first time to use BI tool, and the way it approaches data visualization is very intuitive. What impresses me further is it plays very well with the web. Tableau’s data sheet can be uploaded to their cloud and I can simply embed the generated javascript on my webpage. I can even manipulate the sheet there to explore different data perspectives.

We keep talking about (big) data these days and a handful of new database products appears. Thanks to ODBC/JDBC, we have a unified way to talk with different data sources. As to Tableau, it not only takes the advantage of ODBC, but also unleashes the power of it. That’s another reason why I consider it as a great product. A great product can present an underlying esoteric technology with a user friendly interface. It bridges the gap between technology(Database, SQL) and users(BI Analysts).

Web has evolved to 2.0. Probably the enterprise software should follow the same trend as well and Tableau is a good showcase.