Sunday, October 11, 2015

Be careful, Django's ORM might be a performance killer

I was hoping Django's ORM to save my day, until I found a serious performance issue, which slow down a simply SQL query by 500x! Yes, this is not a typo, 500 times slower! It really took me couple of hours to find the issue. The reason is that Django will do an unnecessary data type conversion behind the scene. I guess this must be a workaround for some wired bug before. But holy, when you have over 1 million records, you can imagine how slow Django ORM can be (in some cases).

Now I'm getting a bit upset, after seeing the core developer team seems want me to handle the issue. Come on! I'm not a free man power, everybody has their things to do. I'm not a unreasonable person, but database related bug will definitively need test cases for dozen db engines. How the hell do have I the time to checkout the whole develop environment and study django's develop/test process? I'm afraid such aptitude of making software will sooner or later kill the project.

Tuesday, November 11, 2014

Data integration made easy

I'm focusing on Hadoop Sqoop recently. Here is an intro of my recent work on Parquet support.

Friday, May 16, 2014

TDelphiChromeTabs Project

I'm now a committer of TDelphiChromeTabs project. Thanks Paul to grant me the access.

Friday, January 31, 2014

Change the look and feel of Delphi's Code Insight

Finally I found a way to make the font of Code Insight looks comfortable.

Open "C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\ObjRepos\en\HelpInsight.css"
  1. Remove all "font-family" definition except the first and the last occurrences. 
  2. Prepend "segoe ui," to the first "font-family" occurrence
  3. Prepend "veramono,consolas," to the last "font-family" occurrence

AD: My "dutil" project is now hosted at

Thursday, April 12, 2012

DUtil Project Started

I started a new open source project dutil on google code. dutil (currently 21 units) is aimed to be a cohesive and comprehensive library for general purpose usage. We write code based on Design by Contract principle. We use many pre- and post-conditions to assure the code works properly as expected. We also raise and capture exceptions in code, which makes the logic of code looks perfectly clear. Please feel free to use it and to share it.

Monday, September 26, 2011

Native Look VCL Project Started

I posted some articles to discuss the differences between Delphi visual components and native Windows controls. I think it is worth to make a project rather than share them as attachments here. Now I started an open source project. The project aims to restore the native Windows control look and feel. Please feel free to use it and to share it.

BTW: Due to Internet censorship of China, it is quite difficult to access and If you mail me for technical support, please leave a reply address as well.

Friday, April 22, 2011

Appearance Preferences Interface Tab

Unfortunately, icons are gone in all Context Menu by default since openSUSE 11.3. Even worse is that the Interface has been removed from the Appearance Preferences Window.

I think i am not the only people, who would rather remember the menu item position than search for its label. So I became very unproductive when I have to face a very long context menu of Eclipse without any icons.

Here is the way to give it back:

  1. In the terminal, call up gconf-editor 
  2. Navigate to desktop/gnome/interface
  3. Scroll down and check the menus_have_icons box.
Have fun ;-)