As of 2016-02-26, there will be no more posts for this blog. s/blog/pba/
Showing posts with label Get Ctrl Back (old blog). Show all posts

I have just been using Wakoopa 1.1.1 on Linux. It works very well. I have wanted to try it when it was not ready for Linux. I do know how long it has started supporting Linux, it surely does it great because it also have a 64-bit client. The packages only are for DEB and RPM package managements, but the binary tarball is easy to use.

The only problem I have is it is not able to detect the CLI/TUI programs, simply because it has no easy way to determine which CLI/TUI program you are currently using. As in X, we have many different terminal emulator, then few terminal window managers. It is nearly impossible that you could tell which is running by a code. We also still have virtual consoles, but this probably not the case to talk because Wakoopa is a GUI program. Not many people will use X and switch to virtual console to work.

The web tracking works normally with Firefox 3.5.5. But I am not satisfied with it, it uses CrunchBase as the website database. But as I checked up on CrunchBase, it is really a company-oriented. I don't see or in it.

I may be using Wakoopa for a little longer. It really couldn't fully reflect my use on computer. I stay a lot of time in terminal. I know I can use gvim instead of vim, but I rather not to. I think Wakoopa is better for Windows and OS X users, because the normal users of theirs are stuck to GUI programs.

Twitter just rolled out the Retweet feature to more twitters.

Here is the screenshot after I retweeted a tweet:

And this is from my profile page of that retweeted tweet:

The amazing things is you can know how many people retweeted the same tweet with you and you can even Un-retweet if you change you mind.

But if you want to comment on the retweeted tweet, you have to tweet another or do the manually retweet as we do before. You are not allowed to edit the retweeted text.

My Firefox's profile data is really huge, I have two profiles, both are over 100MB. If I switch History tab on and try to search for something, it takes quite a time to get results.

Clear Data

Go to Tools/Clear History, I only choose Browser/Download History and Cache. Don't forget to choose time range to everything.

Delete urlclassifier*

Close all Firefox windows first. It's for blocking phishing sites. There are two files, urlclassifier3.sqlite and urlclassifierkey3.txt,

you can read more about it on MozillaZine Knowledge. (I didn't disable the features but deleted directly and didn't see any side effects.)

After you start Firefox, the file will be recreated but much smaller. However, it grows back quite fast.

Vacuum Databases

Close all Firefox windows first. If you use Linux, you can run the following command to do the job:

for fn in ~/.mozilla/firefox/*/*.sqlite ; do sqlite3 $fn vacuum ; done

Mozilla Link had a comparison before/after vacuum.


This is no use anymore, Twitter has rolled out Retweet feature! (2009-11-11)

I have been wanting for a Retweet button for a so long time on official Twitter webpage, but it never happened. Today, I spent an hour or two to make a simple script. One click on bookmarklet can add a button below the Favorite and Reply buttons. Check out the picture below, you should have a better idea.

The red arrow points at this new Retweet button. If you click on this new button, it will bring the retweeting tweet into status input box. This script should work on your Twitter home page, someones profile page such as mine, livibetter, tweet status page, or search results.

At home page, if you click on more button at bottom of page, then you only need to click on bookmarklet once more. That will add Retweet button to new tweets.

The following is the bookmarklet, drag and drop it onto your bookmark toolbar.


Bookmarklet removed. (2015-07-11T06:13:39Z)

The code is licensed under the modified BSD license.


Added button to tweet status page, such as (2009-10-20)

Just knew that Google Profile gives us better URIs [via TechCrunch]. The old (but still work) URI is, which is awfully long and you cant guess whos that by seeing the URI. The new one is like which is the same username of Gmail box. So, you probably want to put a dot in if you use your real name, for example, you can have as if you can do for your Gmail: livi.better[gmail]. That also works.

Go to edit profile1, scroll down to bottom, you will see the option to have new style of URI. If you click on see more options, you will also have an option like, but I doubt that anyone would use that.

[1] is gone.

This is possible an old joke at the time when 3 1/2 still be the most awesome portable storage media. Stronger than 5 1/4. I searched for this joke and I found more complete version dating back at least in November, 2005:

An application was for employment
A program was a TV show
A cursor used profanity
A keyboard was a piano!

Memory was something that you lost with age
A CD was a bank account
And if you had a 3 1/2 inch floppy
You hoped nobody found out!

Compress was something you did to garbage
Not something you did to a file
And if you unzipped anything in public
You'd be in jail for awhile!

Log on was adding wood to a fire
Hard drive was a long trip on the road
A mouse pad was where a mouse lived
And a backup happened to your commode!

Cut - you did with a pocket knife
Paste you did with glue
A web was a spider's home
And a virus was the flu!

I guess I'll stick to my pad and paper
And the memory in my head
I hear nobody's been killed in a computer crash
But when it happens they wish they were dead!

Before I first experience of computer use, I could not speak any English at that moment. I was about 8 years old. Since then, my vocabulary bank started to grow up, but its in very limited and special way. I only know the meaning of computer field and barely can pronounce them. Until now, many words in my head are still strong bound to computer terms. Sometimes, its hard for me to think outside of computer.

Its interesting when you look back on this joke. Many things have changed after this joke being written. I think the best time of 3 1/2 has past about a decade. If another decade passes, how many in this joke would remain?

If I need to find any information about stars of universe, the first program which I can think of is Sky mode of Google Earth. I dont know if this Sky mode is for professional use or not, obviously, I am not into it.

[ is gone.]

Here is another application, its called Stellarium. Its Free and Open-sourced, and All major systems are supported natively. You can see many screenshots.

[ is gone.]

Google Earths Sky mode has many layers and seems to be a little bit of mess if you turn on too many layers. Stellarium is much more clean. Its UI is simple as well and easy to use. However, if you are not familiar with what you just looking at, its more easy to access online information with Google Earth.

pastebinit, a small Python script helper to paste text/code to, which is really handy. You don't need to open editor/select all/paste. You only need to run this script with filename or type in and hit CTRL+D.

Since it's written in Python, I guess it should be having no problems with all systems that Python lives on.

Earlier today, I changed my avatar on Twitter. It's for fun that make avatar look like blank image. However, you still can see something from the avatar.

So, here comes this post. I use GIMP to make another one from a cat image. The original is

(Kind of cool face, isn't?)

The rough steps

  1. Firstly, open it and duplicate the layer. And don't forget to add alpha channel. Name the duplicated layer as Edge.

  2. Apply Filters Edge-Detect Sobel... on Edge layer. The result looks like

  3. Remove some unwanted edges, only leave the main part. In this case, the cat's head.

  4. Add Black (full transparency) layer mask to Source layer.

  5. Copy Edge layer onto Source's layer mask.

  6. Reduce Opacity to make the image be barely seen.

  7. Enhance if the ghost image is not evenly seen:

    a) Duplicate the Edge as Enhance.

    b) Remove the parts that are too strong from Enhance layer.

    c) Adjust Opacity of Enhance layer to make ghost image looks balanced.

The final image

Yes, it's right above. (I set the opacity way too low. :p) The final GIMP file is here.

I just changed my avatar to:

(Yes, it's really here, I guarantee!)

Because it's special, therefore only those websites which support PNG can use it, or it will only be ugly black avatar.

Anyway, here is the list of those websites that support PNG avatar:

  • Blogger

  • Get Satisfaction

  • Google Groups

  • Google Profile

  • Jamendo


  • LiveJournal

  • Picasa Web Albums

  • Twitter

  • Yahoo

  • Youtube

Here is another list of those websites which don't support PNG avatar:

  • 43Things


  • Disqus

  • Facebook

  • Flickr

  • FriendFeed

  • Gravatar

  • Technorati


  • Verisign PIP

  • Vimeo

Since I started to use Firefox, there is one thing that kept bothering me. When you click with mouses middle button on empty places, Firefox will try to open it as a URL. It seems to be very convienient when you copy a URL somewhere else, then you switch back to Firefox and press middle button. However, that is really rather used. Most of time, just Address Not Found.

So, open about:config, type middlemouse.contentLoadURL, then set it to false.

I downloaded the Windows 7 Ultimate Beta from Microsoft. The hardwares of the machine I used, you can read it here. It's kind of old. I have an ATI Radeon X700 graphics card, but it seems to be broken, that is bad that I could not see the Aero theme. By the way, I have never used Vista, Windows XP is my last experience of Windows operating systems.

The setup runs in 800600 resolution, I can now hope Windows supports old GeForce4 MX and gives me 16801050 after installation. The setup is weird, it gave Upgrade and Custom installation types, but I didn't have any Windows on this computer. I deleted all Linux partitions and create new one. It automatically created 200MB for System type, the rest for Primary type.

The installation needs to restart twice, which I don't understand why would it needs to. At second time reboot, you can set up a new account and enter the product key. The whole process of installation takes less than 30 minutes, this is quite fast.

I am still stuck in 800600. I tried to set up Internet connection, but it kept saying it couldn't. So I checked up the Device Manager, and found out Ethernet Controller doesn't have driver. I manually installed NVIDIA nForce Networking Controller. I thought this will be working, but it doesn't. Windows 7 has proved me that it's a Windows descendant by a royal Windows tradition when I tried to configure the NIC, I got a Not responding window. The End Process button doesn't work, the only way seems to restart or shutdown. But it just showed me Shutting down... Thankfully, this machine has a Reset button. Good job, Microsoft.

So I downloaded a Windows XP driver for nForce2 from nVidia website (it's categorized as Legacy), it doesn't have Vista version. However, this still doesn't work for NIC (other devices seem to work). I found nf123xp stuff, which has newer drivers than from nVidia's website. The file I downloaded is NF123LR1.0. While installing these newer drivers, boom! BSOD! Another royal tradition. I then tried again, it happened on installing audio driver. I resolved it by manually installing.

Now, finally, I can connect to Internet. I installed Kaspersky software from the three suggestions on Windows 7 website, also updated the system. I tried to install nVidia GeForce4 MX (Integered using 128 MB shared memory) 93.71 driver for XP/2K, which I downloaded from nVidia, but installer said this is not Windows! How hilarious! But I can still install it manually.

Oh, yeah! I got 16801050 after rebooted. I just downloaded Steam, and Kaspersky warmed me that it detected Worm.P2P.generic. So, I uninstalled Kaspersky. However, the games are not playable, I guess that is driver problem.

I feel Windows 7 is just a pretty Windows XP, nothing more except you have to keep click on Yes and Allow buttons to make sure your system is more Secure. I encountered troubles with driver issues, they are not supported officially, even though they are working. If you want to try Windows 7, make sure you have a sticker on your hardware. Buying a pre-installed computer might be a better way.

Now, even Google starts to use Twitter, though not really the core of Google itself. We now have Blogger and googlereader. Maybe there are more out there, if yes, please let us know.

There is a blog post1 from Google that makes me thinking, which writes about Jaiku bought by Google in 2007 will be open-sourced. Its interesting that Blogger and Google Reader chose Twitter not Jaiku. Its not hard to understand, all because of amount of users.


List of known Google services on Twitter: adsense, app_engine, Blogger, google, googleapps , GoogleAtWork, googlereader, youtube (2009-03-26)


Google has maintained its own Twitter accounts directory. (2013-03-08T11:58:07Z)

[1] is gone.

From now on, topics about blogging will be posted on1:
[1]The B Thing was merged into YJL in September, 2010. (2015-07-16T03:53:20Z)

After drink meme, I got another meme to play with, New Years meme: What are the oldest files in your home directory?, first started by Brandon Rhodes.

1   Rules

  1. Run the following script in your home directory. (You might want to use less to read the output.)
  2. Ignore files whose date does not reflect your own activity.
  3. List the oldest files in a blog post and discuss!
#!/usr/bin/env python
"""Print last-modified times of files beneath '.', oldest first."""
import os, os.path, time
paths = ( os.path.join(b,f) for (b,ds,fs) in os.walk('.') for f in fs )
for mtime, path in sorted( (os.lstat(p).st_mtime, p) for p in paths ):
     print time.strftime("%Y-%m-%d", time.localtime(mtime)), path

Only include files whose last-modified time is a date on which you really touched the file. The files time should neither result from an error (a few files beneath my own home directory have an incorrect date of 1970-01-01), nor from unpacking someone elses archive that has old files inside of it.

But there is no requirement that the actual content of each file you list be your own. Whether you wrote the file yourself long ago, or downloaded it from some ancient and forgotten FTP site, you have a story to share!

2   My files

# The first day I started to use Pidgin on Linux?
2007-08-29 ./.purple/logs/jabber/[my_email][a_contact]
# The day I started to run my own server at home, shutdown months later due to noise from fans
2008-04-11 ./tmp/thetinybit/etc/ppp/chap-secrets

Nothing really old because of a harddisk failure in 2005. I lost all my data, photos, documents, etc. After that tragedy, I usually dont store anything on my computer except raw images/music files/or files I would use often.

I want a section which lays three widgets horizontally, Recent Posts, Recent Comments, and Top Posts. If I have them at my sidebar, then the whole page length would be going to long when reading a single post. If I can line them up since they have close widget height, the result should look good. Note that I plan to place this new section just above the original footer section.

Only need to add two parts. One is the CSS, the other is the XML.

Here is the CSS part:

#above-footer-wrapper {
#above-footer-left {
#above-footer-middle {
#above-footer-right {

My page width is 840 pixels, you need to change it to fit yours. I evenly distribute the space to three columns which is 840 = 270 * 3 + 15 * 2. The spacing between columns is 15 pixels.

For XML part, you need to find footer

<div id='footer-wrapper'>

Add new section to be:

    <div id='above-footer-wrapper'>
      <b:section class='footer' id='above-footer-left'>
      <b:section class='footer' id='above-footer-middle'>
      <b:section class='footer' id='above-footer-right'>

    <div id='footer-wrapper'>
      <b:section class='footer' id='footer'>

Once you done, save the template and switch to Page Element tab, that should look like:

Here is a screenshot about how it looks like:

Note that the color borders are for easy understanding only.

You can scroll down to see this 3-column section in practical  use.

Few years ago, when I was a student, its not easy to get math displayed on browser. Now, the MathML works out-of-the-box in Firefox 3 (maybe also in Firefox2?). However, I couldnt directly use MathML in, they gets messed up. Besides, its not easy to write on you own without an editor. LaTeX is much easier to write.

1   LaTeX MathML

LaTeXMathML, which is an JavaScript script, converts LaTeX to MathML on the fly. Isnt that good? Here is an example. if your browser supports:


You may also want to know about ASCIIMathML.

2   LaTeX Image

This may has the most compatible to old browsers, but no one can guarantee that provider will last forever. provides similar way as LaTeXMathML does, but generates a image object not MathML object. If the JavaScript is turned off, viewer still can have LaTeX to read.

You can also try Texify1. You need to enter your LaTeX to get the link to the image. You may also want to know MathTran.

3   reStructuredTexts MathML output


Since 2013-07-14, Ive been using math_output = MathML. (2015-07-11T05:58:00Z)

reStructuredText has MathML output support, you only need to turn it on and you can get the output directly in MathML:

x= -b b2-4ac 2a

[1] is gone.

Have you tried to reach a blogger when you have a question but thats about a blog posting? When I have such need, I will check the About page, first. But the fact is not all blogs have that page. Some bloggers forgot to provide contact information, or simply they dont want to be bothered.

What if they want but couldnt have a good way to allow readers to send them messages? I recently added Get Satisfaction to my blogs. I believe its a good channel but may be more like one for real company. Its not quite fitting as for a blog because of the terms that Get Satisfaction used, company, employee, product, or service. But I think I can live with those since I saw no other acceptable options.

There is another service I was thinking to adopt before Get Satisfaction, Skribit1. Its only for getting blogging topic suggestions. Not so comprehensive as Get Satisfaction is. As of writing, you can only have one blog for an account. If you have many blogs, you need to create more accounts. Skribit is more friendly to blog reader by my feeling.

Of course, you can still provide very old way, the email. That is also a private way. The instant messaging is another way to do. But both of them may not be good idea because some people like spamming.

However, whatever way you are going to take, providing the information at About/Contact page is a must-do. Its like the index.html, a convention. People used to read that.

I think if you can provide a public channel to allow the communication and other people (not only you and the reader) can read and participate the conversation, that may be good for all.

Do you have any ideas or suggestions in you mind?

[1] is gone.

I got few suggestions from one of my blog posts. I wasnt really testing them but only some of them.


Some sites are dead and links have been removed. (2015-12-05T01:00:39Z)

  • Grooveshark: I think this one is the best. You can edit your playlist, though that isnt easy to build a playlist with Groovesharks Flash interface in my opinion. The embedded code has only one Flashobject.
  • You can only embed one song only at a time.
  • My Flash Fetish: This seems to have lots of users. It has many different skins. You can decided if you want it autoplay or shuffle the songs. You need to sign up in order to get the code.
  • The Music Hutch
  • Gcast: This one seems to serve podcast shows, but I did see someone use this to play music.

Do you have any more suggestions? leave a comment!