BB 8830 + Iusacell + Voice + EVDO

June 16th, 2009

Recently i bought a Blackberry 8830 from ebay.com which is great, it just costed me a little but really a pretty phone, the only defect is that there is no camera, haviing one is ideal, anyway i dont use camera so much. it’s ok then.

Cause it’s from Verizon USA, for carriers in Mexico, they call it “extranjero”, which means you cannot get support from local carrier, in this case, it’s Iusacell. after quite a lot of effort, now 8830 has been adapted to iusacell, that is voice + sms + evdo. wow, viva EVDO, the connection is great, tried to download a 5mb file and the speed maintened in about 80kB/s. oh, have to comment that, i have a great data plan, i am paying about 170 pesos for unlimited evdo connection! it’s about 12 dollars. whatever, this plan is not offering to any new customers any more.

so here i would write down the steps to get it work for others who might need.

1. first of all, you would take your phone to iusacell so they can assign the line for you. it’s free. that means, the activation of phone line.(probably you could configure it by yourself)

2. at this point, you would have the voice and sms service already. then you would follow this post to configure the data service. After the firsts three steps, you probably get data service configured, any way, it could be not EVDO, you woudl see ‘1x’, ‘1X’ beside of the signal in the screen, but not ‘1XEV’ or ‘1xev’.

Now what you have to is update the prl file. you would call *228 to get a new update from iusacell(option 1 then 0). Reset the mobile network connection, it says EVDO? if yes, then congratulations, you got it. if no, dont worry, iusacell is just playing with us, i think iusacell just dont want us to use evdo because we have one cellphone “extranjero”. hehe. now you would want to download a new prl from here and load it into your phone using QPST. here i use the prl 232, maybe you want to use prl 252, your choice.

tips: download MML(MFI Multiloader), QPST from shopcel.com. there all tools you need. for unlocking GSM and GPS, you need MML too.

Using phpMyAdmin

May 22nd, 2009

phpMyAdmin is really good. comparing with mysql-gui-tools, i prefer phpMyadmin cause mysql-gui-tools requires so many dependencies!! phpMyAdmin can do whatever can do the mysql-gui-tools does.

Cause i use it to connect arbitray mysql server in development process, what i have to to do is to enable the $cfg['AllowArbitraryServer'] option in config.inc.php:

1
$cfg['AllowArbitraryServer'] = '1'

New Theme

May 22nd, 2009

OpenBox + tint2(panel) + xcompmgr + Airborne(theme)

RSS tools

May 12th, 2009

tools chain: Firefox + Google Reader + Google Goodies(next button) + Firefox plugin: Google Reader Watcher

Firefox
The most popular browser in the linux world.

Google Reader
Google powered online RSS reader. you have to put your faviortes feeds here.

Google Goodies (next … next …)
A shortcut button located in firefox’s bookmarks bar which opens your unread article for you.

Firefox Plugin: Google Reader Watcher
a plugin which gives you a notification wheneven you get a new unread article from google reader.

So, what i do, just click on the NEXT button wheneven watcher notifies me about new articles. i dont even need sign in or open google reader anymore!!!

Games: slow as normal user, fast as root

May 6th, 2009

I have been mad about the 2D/3d performance with the newest video driver and xorg-server, i cannot even play xmoto! see the glxgears output as normal user:

1
2
3
4
5
6
junmin@thinking ~ $ glxgears
1199 frames in 5.0 seconds = 239.683 FPS
1327 frames in 5.0 seconds = 265.267 FPS
1323 frames in 5.0 seconds = 264.424 FPS
1266 frames in 5.0 seconds = 253.068 FPS
936 frames in 5.0 seconds = 187.093 FPS

today i had sudden idea, run glxgears as root:

1
2
3
4
5
thinking junmin # glxgears
3405 frames in 5.0 seconds = 680.893 FPS
3444 frames in 5.0 seconds = 688.637 FPS
3410 frames in 5.0 seconds = 681.918 FPS
3445 frames in 5.0 seconds = 688.884 FPS

what difference they are! then i asked around in IRC, and a friendly guy suggested me to add the normal user to the video group:

1
usermod -a -G video junmin

Done, the normal user gets the same FPS with root user. i can play games as normal user now.

Design Principle

February 12th, 2009

Collections of design principle:

1. Identify the aspects of your application that vary and separate them from what stays the same.
2. Program to an interface, not an implementation
3. Favor composition over inheritance.
4. Strive from loosely coupled designs between objects that interact.

Pregunta: Dónde Puedo Dejar Mis Servidores?

February 8th, 2009

Tengo 2 servidores rack, son de tamaño de una unidad, de marca Dell, pero bueno, ya medio viejitos, son de Pentium III. Los tengo desocupados ya durante un pocos más de un año(no pude aguantar los costos de centro de datos). ahora pienso dejarlos en línea asi que podría ofrecer algun servicio pueda beneficiar a la comunidad de software libre.

Por este motivo que es para toda la comunidad, pregunto, alguien sabe dónde los puedo dejar? de preferencia sea gratuito, bueno, eso espero. si no, que sea barato, que pueda aguantar el costo un estudiante.

y la localización, de preferencia sea en Ciudad de México en la que estoy(para evitar algun problema que pueda llegar a suceder).

muchas gracias a todos!!

Proxy Firefox through a SSH Tunel

February 7th, 2009

https://calomel.org/firefox_ssh_proxy.html es muy util!

Java: Using Proxy

January 19th, 2009

To use proxy in java applications, you have to deal with two different cases(well, in theory both cases are the same).

1. If in your application you are using some classes like URLconnection(http protocol connections), you have nothing to do in your code, when you run it, add following properties in command line:

1
-Dhttp.proxyHost=the.proxy.com -Dhttp.proxyPort=portNumber

as a example:

1
java -Dhttp.proxyHost=the.proxy.com -Dhttp.proxyPort=portNumber -jar app.jar

If you google “java proxy” around, you will find most of the pages tell you that it’s for setting proxy of JVM, but it’s false, the truth is that http connections use these properties. Surely, another alternate way is put following lines in your code(hard coding):

1
2
3
4
5
6
import java.util.Properties;
...
Properties systemSettings = System.getProperties();
systemSettings.put("http.proxyHost", "myProxyServer.com");
systemSettings.put("http.proxyPort", "80");
System.setProperties(systemSettings);

2. If in your application you are using the class Socket, here i show you a test class:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
junmin@thinking ~ $ cat Test.java
import java.net.Proxy;
import java.net.Socket;
import java.net.*;
import java.io.*;
 
public class Test {
    public static void main(String[] args) throws Exception {
        String proxyhost = System.getProperty("socks.proxyHost");
        int  proxyport = Integer.valueOf(System.getProperty("socks.proxyPort"));
        Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(proxyhost, proxyport));
        Socket socket =  new Socket(proxy);
        SocketAddress s = new InetSocketAddress("irc.oftc.net", 6667);
        socket.connect(s);
        System.out.println("*** Connected to server.");
 }
}

I think you have noticed that the proxy server is scoks type. yeah, it’s right. Java default API only support socks proxy with socket, if you want to use http proxy, looks like you have to use HTTPClient (i haven’t tried this).

As what i said, -Dhttp.proxyHost=the.proxy.com -Dhttp.proxyPort=portNumber is not seting the proxy of JVM, if you run next test program:

1
2
3
4
5
6
7
8
9
10
junmin@thinking ~ $ cat Test.java
import java.net.*;
import java.io.*;
 
public class Test {
    public static void main(String[] args) throws Exception {
        Socket socket =  new Socket("irc.oftc.net", 6667);
        System.out.println("*** Connected to server.");
 }
}
1
java -Dhttp.proxyHost=the.proxy.com -Dhttp.proxyPort=portNumber Test

you will find that it doesn’t go through the proxy, it connects to the server directly.

Notification-daemon 0.4.0 Error

January 14th, 2009
1
2
3
4
5
junmin@thinking ~ $ /usr/lib/notification-daemon/notification-daemon
 
GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT (object)' failed
aborting...
Aborted

To solve it, you have to

1
2
#install gstreamer0.10-good
pacman -S gstreamer0.10-good

or you can add --enable-sound=no to compile configuration.