Amp and USB Chargers

This is a good article that explains how USB charging works. Basically, avoid cheap chargers. For any reasonably good charger, the amperage of the charger doesn’t really matter so long as it exceeds what the device requires; that is, use a charger with at least 0.5 Amp if the device requires 0.5 Amp (what the original charger uses). Thus, it’s OK to use my 2 Amp chargers on most of my mobile device so things charge faster!

MKV on PS3 using Showtime

I’ve described how one could play MKV files on the PS3 before. Another method is to play them using Showtime, a media player that can be installed on a jailbroken PS3; it supports MKV natively. This method is better than my previous solution because on-the-fly transcoding is not necessary and hence, the fast forward and rewind capabilities of the video are not lost.

To convert my previous solution to this method, I had to install Showtime on the ps3 of course and edit my /etc/mediatomb/config.xml file (change the transcode line for mkv files back to x-matroska). In addition, I did a forced rescan of my files (removed directory and re-added it to database using the web interface) so that the new rules can be applied.

Home address on GPS navigation device

Note to self: do NOT enter your actual home address on your GPS device. If someone how gets a hold of the GPS device and your keys, they can rob you pretty easily. Rather than enter your home address, enter the address of a nearby business. That way, when you want to travel home from afar, the GPS device will tell you how to get back to the vicinity of your home.

Quick notes on building my own computer

  • case
  • power supply
  • mother board
  • cpu + fan + heatsink
  • ram
  • graphics card (if not available on mobo)
  • hard drives (RAID1)

Tricky parts when putting together:

  • Install cpu, fan, heatsink, and ram before mounting mobo into case; fan and heatsink is tricky for my AMD X6 chip
  • Place the color coded mobo guide thing (USB plug, sound, etc.) onto the back of the case before mounting mobo.
  • Mounting mobo onto case: screw in the screw mounts (brass) onto case first and then mount mobo onto case with screws into the screw mounts.
  • Follow mobo manual for plugging in wires. I couldn’t find an 8 pin plug from power supply for the CPU power; google results says the 4 pin one should be fine and it was.
  • Set up RAID1 from mobo manual and then install Ubuntu server.

follow-up on OBi ATA and Google Voice

I recently described the OBi110 ATA that makes regular phones work with VoIP. What makes the OBi110 special is that it supports Google Voice (GV) out of the box and that it’s cheap!

Because of this device, I finally I decided to port my landline number to Google Voice, which has been in my family for 20 years (I always wanted to port it to GV to have more control over the number). Since landline porting is not currently supported by GV yet, I had to follow these steps in order to port the number, which took about a week to complete and a cost of about $10 (AT&T Go Phone) + $15 (Go Phone balance to port a number to the Go Phone) + $20 (Google Voice porting fee) = $45. The long wait was from porting landline to mobile; mobile to GV only took a day.

Like this post mentions, GV does not support 911 service. I signed up for a CallCentric pay-as-you-go for calling out service (no phone number included). I had to put in a $5 balance to get started. I opted for the E911 service which will cost me $1.50 a month. Since GV is on my sp1 line on the OBi device (default line), I configured Callcentric on my sp2 line per these instructions. Basically,

  • Service Providers -> ITSP Profile B -> SIP -> ProxyServer : (Callcentric Proxy Server)
  • Voice Services -> SP2 Service -> X_ServProvProfile : B
  • Voice Services -> SP2 Service -> AuthUserName : (Callcentric Username)
  • Voice Services -> SP2 Service -> AuthPassword : (Callcentric Password)

Per these instructions, I set sp2 as the default line whenever 911 is dialed. Basically, change

 <pre class="example">{(&lt;#:&gt;|911):li}


 <pre class="example">{911:sp2},{(&lt;#:&gt;):li}

in the “Phone OutboundCallRoute” option under “Setup Wizard”. I did receive a confirmation from Callcentric saying E911 is active but did not schedule a test call with the local emergency station because I don’t who to contact to get it started. Here are additional notes. Oh, I also opened a ticket with Callcentric to change my caller ID to my GV #.

Now, I have phone service that costs me $1.50 a month.

What’s left is to figure out the dialplan or digitmap features of OBi so that I can do 7 and 10 digit calling automatically. This and this talks about it.

Google Voice on a telephone without a server

I already discussed how one can make use of Google Voice with Asterisk – the possibilities are limitless. However, all this requires a server running Asterisk. I recently explored how one can explore other options of Google Voice (or other VoIP services) without the use of a server.

Since I own routers running tomato and dd-wrt, I can exploit Optware to have asterisk run on an embedded device. Installation is quite easy. You can buy a cheap router like the Asus WL-520GU to get things going. However, it might be kind of slow for asterisk. I own an Asus RT-N16, which based on my readings, is plenty of power of asterisk. However, I only want to use the router as a router, dedicated to that one task, to have a stable home network. I don’t want to run asterisk or an embedded web server for the sake of stability. However, knowing I have that option feels quite good.

I recently discovered the OBi100 and the OBi110 ATA’s that was released in late 2010 that can connect to Google Voice (and other SIP providers) natively. Based on this review and the reviews from Amazon, the product seems quite good. I went ahead and ordered the OBi110 to try it out, and I might update once I try it out.

Setup is outlined here. The drawback with GV is the inability to dial 911 in an emergency. The end of the post illustrates how you can get around this. I called my Verizon home phone service and once the line is disconnected, 911 service is not retained. I might pay for another VoIP with E911 (local 911 operator + phone number and physical address transmission) capabilities just for the ease of mind, even though we all own cell phones. This is another possibility by routing the 911 to the local police station, but E911 capabilities will not be available.

I just might port my home phone number to GV soon.

UPDATE – Using my Playstation 3 (PS3) as a media player (play mkv files and more)

I’ve been using mediatomb as a media server for UPnP devices such as the PS3. I definitely prefer XBMC to be on any device I use as a media player since I can play practically ANY media format (if the hardware can handle them, e.g., xbox can’t handle HD content) and I can stream from local computers via a Samba mount. However, it is not currently available on the PS3 and it might NEVER be available; see this post. With recent advances in the PS3 Hacking scene, I’m sure the Linux OS can be installed on my PS3, and some advance media player will come into fruition (XBMC? GeeXbox?). In the mean time, I’m stuck with Sony’s media player capabilities.

The Mediatomb + UPnP route for the PS3 is fine except for two major pitfalls:

  1. MKV files are not supported on the PS3, and
  2. New files in my “watched” folder might not immediately available since metadata are stored in a database.

Playing MKV files

Let’s attack the first issue first. After some searches and playing around, I found this post that outlines how one can remux MKV files into m2ts or mp4 files that can be played on the PS3. NOTE: On my Ubuntu 10.04 NAS, only the MP4 method worked for me (I don’t like this method though since AC3 to AAC conversion takes a few minutes; I also ran into a libfaac issue, and installing the extra libraries fixed it per this post). However, after updating FFMPEG following these instructions, the remuxed m2ts files can be played on the PS3. The m2kv2m2ts script makes this process as easy as mkv2m2ts video.mkv.

Before I figured out the previous method (fixed by using the latest version of FFMPEG), I hopped over to #mediatomb on the freenode to get help. “Alver” pointed me to this post, which is an update of this post. Basically, Alver wrote a script to transcode any media file on the fly so that they can be playable on the PS3. The drawback is that the video just plays (no fast forward, scene select, etc.) and that it can be CPU-intensive. Luckily, for MKV files, there is no real transcoding (only remuxing). The streaming of MKV files wasn’t an issue even on my 1.6G atom-based NAS. This will be my current method of streaming MKV files on the PS3 for now.


  1. Make sure the latest FFMPEG is installed per these instructions.
  2. Copy the script from this page into /usr/local/bin/ and make it executable.
  3. Clear out the entire database using the configuration website http://mediatomb:49152/ (replace mediatomb with the hostname or ip address).
  4. Backup /etc/mediatomb/config.xml (I use the daemon) and update it per this page. My config.xml is modified from this since Mediatomb 0.12.0 does not support version 2 of the config and I only want transcoding done on MKV files (my NAS is weak so I don’t want it to transcode everything, especially AVI files).
  5. Restart mediatomb (sudo /etc/init.d/mediatomb restart) and my directory to the database on http://mediatomb:49152/.

Here is my config.xml file:










Add new files to database automatically

When adding a folder to be “watched” in mediatomb, use the “inotify” so that new files get added automatically. The files need to be world readable. I wrote a short script ( to do so:

#! /bin/bash

## Usage: /path/to/directory
for directory in "$@"
find "$directory" -type d -exec chmod 755 {} ;
find "$directory" -type f -exec chmod 644 {} ;

Added the following entry to crontab to have it updated every 30 minutes (20 and 50 minutes after the hour):

20,50 * * * * find /path/to/folder -type d -exec chmod 755 {} ;
21,51 * * * * find /path/to/folder -type f -exec chmod 644 {} ;

PS3 Media Server

I have not mentioned ps3mediaserver. It’s probably the most popular media server application to stream to the PS3 (or maybe even all UPnP devices). It’s based upon mencoder and FFMPEG (good), but written using JAVA to be cross-platform. It supposedly can stream and transcode any kind of media files. I don’t think it’s too appropriate since my NAS is atom-based; may be good for a more powerful server. I ran into issues trying to install it; didn’t give it more than 20 minutes though. I might try it some day.

UPDATE 12/31/2010

Just installed ps3mediaserver based on this and this. Assuming I pulled the latest sources from here and is in the the ps3mediaserver directory, I did:

sudo apt-get install mencoder ffmpeg mplayer vlc sun-java6-jre
JAVA_HOME=/usr/lib/jvm/java-6-sun ant
bash ./

The crappy thing about ps3mediaserver (to me) is that it is GUI-based. For server applications, I prefer daemons. See this post for how to make it a daemon.

Jailbreak iPhone + tether

My brother owns an Apple iPhone 3GS with iOS version 4. He asked me to jailbreak it. What I did:

  1. Install iTunes 9.2 on my Windows XP virtual machine.
  2. For some reason the iPhone was recognized as a camera/scanner. To get Windows to recognize it as a phone, I did something similar to this. Basically, use the apple driver.
  3. In iTunes, right-click on the device and “Backup”.
  4. Go to jailbreakme on the iPhone using Safari, and the jailbreak process will take place (Cydia will be installed). After this completes, the phone is jailbroken.
  5. In Cydera, install OpenSSH to transfer files between the computer and the phone wirelessly. Reboot the phone.
  6. For tethering, this states that PDANet is probably better than MyWi.

This outlines the possibilities with a jailbroken iPhone.

Remember not to update the iPhone with any apple software until knowing that the jailbreak can be preserved.

Wireless Bridge does not allow access to computers on the same network

My primary router is on tomato, and since I’ve been liking it so much, I decided to load tomato on my wireless bridge. After doing so, I followed these instructions (Wireless Ethernet bridge mode) to it to connect to the primary router. It was way easier than doing so on DD-WRT, and access to the internet works. However, access to computers connected to the primary router did not work. I believe this is a known issue (read comments in the link).

Guess tomato works well as a primary router but not so for a client router.