Back again

October 2, 2014

I cannot believe I’ll ever be here again.

Test blogging from w.bloggar v4.03 portable build

September 16, 2011

I just download this tool here. After finishing a really simple setup wizard, which includes choosing your blog service provider, filling in your username&passwd info, I’m now writing my first blog with this tool.

Before I download and begin to use it, I knew from reviews that this is NOT a WYSIWYG tool. I really doubt it that it could be useful for a person like me who have nearly no HTML knowledge. But so many reviews mention this tool and all give it high options that I decide to give it a try.

screenshot of Editor Tab

The tool looks pretty neat, isn’t it? It’s simple for me to use any buttons without guessing what they will do. And you can see that there’s Preview tab, in which you can check the real layout when published.

screenshot of Preview Tab

The preview tab(it seems the first picture is not uploaded successfully?)

In all, I begin to love this editor even this is my first time using it! It’s simple yet completely enough for users like me. And with this editing HTML directly, I can even learn a little bit about its syntax. Don’t mention all the merits an offline desktop editor can provide.

Now, I’ll try the last and most important function — Publish! See you on my blog!


Chrome on Debian

November 7, 2009

I just installed google chrome on Debian. It’s really awesome that I can’t believe my eyes at first! I found that most sites I visited usually are well displayed in the layout. And the fonts in it are much better than in my iceweasel. From the screenshots down below, I can say that no one could tell I’m using Debian instead of Windows xp! Although the linux version of Chrome has been released for a while, I told myself that iceweasel is good enough with my collection of add-ons and Chrome is just another beautiful and fancy browser which doesn’t have much more practical value in everyday use. Now I found I’m WRONG! Except the "speed boom" on openning and loading web page, the fine layout and its simplicity is really fascinating! I really recommend it to others who still have doubt in Chrome. At least, it offers another good choice of browser to you. If you’re interested, you can download it here and installed it with "dpkg -i google-chrome-unstable_current_i386.deb". And voila, you can now enjoy it!
my chrome screenshot 1

my chrome screenshot 2

my firefox screenshot

create a mips 3 port for Debian : update 20091025

October 25, 2009

I wrote a final report for this project before the end of GSoC. Now I’ve uploaded it to alioth. One can use the instructions in the last part of this report to re-build the system I had now. Also, I decide to upload the whole tar ball of this system to somewhere online. Since it is more than 600M, I’m not sure it’s ok or feasible to upload it to alioth too.

I didn’t touch this project since the end of gsoc. The report I mentioned above list everything I’d done before. To give a whole picture here, what I’d done is:
*A mips3 clfs system working a Gdium and fuloong 2F.

*Some build-essential packages of Debian built and installed on such a system

What I need to do is :
1. Build all the build-essential packages of Debian and then using debootstrap(this may need further confirm from other experienced developers) to install it on fuloong or Gdium.

2. Build an apt repository to hold these .deb packages to enable the apt-get access from the debootstrap system.
3. Providing benchmark to measure performance of the old mips port of debian and the new system

I have a internship and some lab work now. Basically, I only have spare time at Saturday and Sunday. I think many developers of free/open source project have the same situation with me and they have done so many great jobs. However, since I had underestimated the difficulty of my project in the past, I decided to make a "loose" for now so that I could finish it little by little. So my plan is:
* December 31st, 2009 : before this time, I’ll finish the first target of todo list with quality.
* March 31st, 2010 : second target
* May 31st, 2010 : last
I agree with the point that free/open source projects have no end. So the process contains continuous improving. The plan is just a rough picture I can gave to others.

This is the first update since the final evaluation of my gsoc project this year. Unfortunately, I failed at last. I’ll keep my promise to finish this project. Plus, this project is not only mine; many people and communities hold high expectation from it and they really show their care by generously helping me with all kinds of support. So comparing to this, I really can’t stop working on this project simply becauseof my personal emotion stuff.

Let’s stay in touch on LinkedIn

October 13, 2009



I’d like to add you to my professional network on LinkedIn.

– Sha

Confirm that you know Sha Liu

Every day, millions of professionals like Sha Liu use LinkedIn to connect with colleagues, find experts, and explore opportunities.

ยฉ 2009, LinkedIn Corporation

Debconf9@Cรกceres, Spain

August 8, 2009

Debconf9 is over for more than one week but th
I’m very lucky to get full sponsorship from Debian and Google for Debconf9, which was held from July 23rd to July 30. Although my preparation for this task was full of frustration and time&cost-consuming events with local Consulate, I still made it in the end. I want to thank many people for supporting me all the time, including but not limited to Arthur, Steve, Anto and of course my Mom.
dfdcbkwm 47gt3bf3cw b
The Debconf was great. There were many lectures and BOFs everyday. Actually, you couldn’t listen to them all because many of them were started simultaneously at different room. But thanks to the video team, I can watch the stream of a event while stayed at different room listening to another lecture etc.Of course, my favorite were those lectures about emdebian stuff because that’s closely related to my project. I benefited a lot from attending these BOFs or lectures which gave me much more knowledge than I can digest. Also, I found my poor English listening improved. ๐Ÿ™‚ I gave a 3min talk on my project, too. It was very short but still attract several peoples attention to try to help me. ๐Ÿ˜€

Besides these talks, we had day trips, parties and talks over meals which were all for knowing each other and having fun at making friends. What’s more, I made many friends by playing table-tenis with them. One of them is Francisco. I spent my last two days in Madrid, living at his apartment. He showed me around at Madrid and we got home the day before I left so late that I overslept the next day and missed the flight. Luckily I had him helping me ask around in the airport and finally got a ticket home.We both agreed that never sleep late if there’s flight tomorrow. ๐Ÿ˜›

Debconf is over more than a week now and I began to miss the life there:-)

Soc-coordination Creating a N32 MIPS port for Debian,report, Week 4

June 21, 2009

Hi everyone,
Sorry for not showing up at weekend meeting. I hope you all enjoyed that:-). First let me summerize what I’ve been busy with in the last two weeks and the status of the project.
1. Make a self-build minimal linux system running on fuloong2f box.
2. Building binutils, gmp, mpfr under mipsel on fuloong2f. However, it turns out I use some wrong flags and option when building them
3. Learn zhangle’s(r0bertz) loongson overlay; Learn bash and vim. Learn stuff about automake, autoconf and libtool.
4. Play a little with Gdium Liberty 1000.
5. Applying visa: Make appointment with Spain Consulate on next Tuesday and asking Anto for invitation letter(still not received).

1. Last night is the most exiting time since I’ve been accepted in this year’s GSoC. I’ve finally built a N32 mipsel system and run it on my fuloong2f box! Last week, I’ve talked with zhangle(r0bertz) on how to create such a system. I could either directly build packages on debian-mips on fuloong(because I’ve installed multilib tool-chain on it) or build packages on a x86 maching using the clfs method. Later, I found this[0] which use the second method. This’s a very detailed guide and due to the fact that building packages on fuloong2f is relatively slow compared with my laptop, I choose the second method. The only drawback is this n32 system is not Debian and thus has no Debian specific features!

2. When I tried to build binutils on fuloong, an error "invalid asm constraint" happened. Fai point out several links to this problem and r0bertz gives me the patch in his loongson overlay. This overlay is, from my point of view, a collection of patches and scripts r0bertz has created when building gentoo on loongson. But I have little knowledge with gentoo and the patches in it have few instruction on when or why to use them, so I guess I’ll bother him a lot in future. ๐Ÿ™‚

3.I’ve received a Gdium Liberty 1000 netbook[1] a week ago. It has a system based on mandriva running in it. I play aroud it a little until I failed to install the pppoe which I use to connect to my ISP. I plan to install debian on it when I have more time to kill. If you guys are interest in getting a developer’s version of this netbook you can visit[2].

4.The visa stuff is really A BIG HEADACHE for me. The Consulate finally agree to give me a interview on next Tuesday but Anto still haven’t emailed me the invitation letter. If I still haven’t received the letter by tommorrow, I’ll definetly impossible go to debconf9.

Plans next few weeks:
1. Make the N32 system "more debian".
2. Upload it to ??
3. Building more packages like X
4. Start writing documentation and prepare for mid-term evaluation


[tag GSoC,loongson,mips,n32]

Learning Vim(2)

June 10, 2009

I can’t help myself learning Vim today. I found much fun and more magic hidden in it!
1. Enable mouse
:set mouse=a
2. tab pages
Yeah, vim have tab navigation! You can open a tab by :tabedit to open a empty file in a new tab or :tab split to open the current page in a new tab. If you have mouse enabled(see above), you can navigate among tabs with mouse just like under windows. double-click on the empty space will open a new tab and clicking the "X" on the right-most corner will close the current tab. With keyboard, :gt and :gT will go tab previous and next. Use :tabpage for more
3. Completion
In command-line, use the <Tab> key and <Ctrl-D> to complete commands. In insert mode, you can use <Ctrl-P> and <Ctrl-N> to complete your input. More in usr_24.txt. You can type :help and search the text "usr_24.txt" to get in.(But is there better way to go there in command-line?).
4. manage your window
:split and :vsplit will split your current window in two horizonally and vertically. You can move your cursor among these windows with <Ctrl-W> hjkl to move left, down, up and right.
And if you feel boring with so many windows, use <Ctrl-W><Ctrl-W> to move your cursor in the window you want to keep and press <Ctrl-W> O to close all other windows!
5. fold
I’m not quite familiar with this magic but it’s kind of very useful. In visual mode, selecting several lines and type :zf to fold these lines and :zd to delete the fold(Note: not the text). You can also just :zo to open it and after viewing :zc to close it.

To be continued…

Sha Liu

Learning Vim (1)

June 9, 2009

Due to the inconvenience I came across when I play around with config files, patch files, scripts etc, I decide to manage at least one main-stream editor proficiently. And I choose Vim because to the learning process with vimtutor is really a fun to me!
Some How-tos I found useful:
1. How to display with/without color?
Type ":syntax on" or ":syntax off". To change the color theme, type ":colorscheme" and <TAB> to complete your choice
2. How to copy/paste from vim to other application?
There are 2 registers in vim to hold the selection "* and "+. The first is for current selection(which e.g. you select in visual mode) and the second is for real clipboard. Both can be used to exchange info. For the current selection, e.g,
"*yy to yank a line and then "*p to paste it in vim or press the middle button of your mouse in other application. Of course you can just select in visual mode and vice versa
For the real clipboard, e.g,
*yy to yank a line and then "*p to paste it in vim or CTRL-v in other application. It’s just the normal clipboard like in windows.
3.How to move quickly to a word in one line?
Use the "f/F" and "t/T" and repeat it with ";" and ",". This is much faster than pressing "l" and "h".
4.How to get help?
Type":help [keyword]". You can use "CTRL-O" and "CTRL-]" to jump back and forth with hyperlinks or any word. Vim’s help system is very smart and friendly if you can spend a little time learning it. If you have questions, always try to figure it out by turning to help. You’ll find eventually you can solve all the problems on your own

To be continued…

Binutils Build Report

June 8, 2009

I spent my whole day building the binutils, luckily for me I finally succeeded in the evening. I think I’d better write it down for remembering.
Purpose : Since I need to create a N32 port for Debian, all that I need to do is to building every package(hopefully) in Debian repo from source, with the specific CFLAGS="-march=mips3(or loongson2f) -mabi=n32". And before that, I should have this set of cross-compile tool-chain. And Binutils is the very first package to be built.
Goal : build Binutils-2.19 using the multilib version of gcc-4.4 with parameter "-march=mips3 -mabi=n32".
What I have done:
1. Download Binutils-2.19.51 from cvs with this patch since it’ll later be used with building the kernel with the option"-Wa(??),-mfix-ls2f-kernel". One thing to note is there’s a hunk can’t be patched automatically since the context around it in my gas/config/tc-mips.c file is a little bit different from when r0bertz create the patch. However it’s very easy to manually patch it.
2. Install Bison, Flex and texinfo on my debian-mipsel. To be exactly, I’m not sure if they’re *all* neccessary. But without them, the make process will report error "[] error" and "yyparse undeclared indetifier". I google it a little and install these three packages at one time:-)
3. Configure. I use CFLAGS="-O2 -march=mips3 -mabi=n32 -pipe" as Fai told me and "–disable-nls –enable-shared". Of cource the CC="/usr/bin/gcc-4.4".
4. make configure-host && make && make install. The whole process took me 25min on my fuloong2f box.
Things still need to be figured out:
1. There is bin/ diretory in {PREFIX} and another bin/ in mips64el-unknown-linux-gnu. The last one is what i need but what’s the first one for?
2. I’m not sure what "make configure-host" is for.
3. I’m still confused the term "multilib". How many meanings does it have? We can say a multilib system and a mutilib gcc but what’s the relationship between them?
What’s next:
gcc, glibc and kernel.
This is probably the easiest package to be built in the tool-chain and it cost me one hard day to learn and try. Though I build it successfully today, many potential errors may come out later when building other packages. However, I still think it as a good start330