Thursday, December 29, 2011

Virtual Keyboard on #Pre2 #webOS

Testing this on my Pre2 running #webOS 2.2.4 and works fine, so far :)

See the forum thread here, check out the #1 post, then follow the detail steps below:
1. Download luna.conf.patch for webOS 2.x from Arthur Thornton (on that #1 post)
3. Download VKB-1.1.4.zip (also on that #1 post, depending on your webOS version)
4. Install luna.conf.patch to your Pre 2 using webOS Quick Install



5. Unzip VKB-1.1.4.zip, you've got VKB.sh and send that file to your Pre 2 (e.g to /media/internal)



6. Accessing linux in your Pre 2 using webOS Quick Install or novaterm through Windows Command Prompt / Linux Terminal
7. Go to /media/internal directory: # cd /media/internal
8. Run this command: # VKB.sh -patch
9. Your Pre 2 will boot automatically
10. You've got the Virtual Keyboard by swiping up from gesture area

Tuesday, December 27, 2011

Live Partitioning HP TouchPad #webos

You can see the source of this blogpost here. I just re-write on my blogpost according to my own experience, trials and errors :)

I assume that you already have all requirement to connect to your TouchPad (Palm SDK, Linux Access, etc.)

Here's what you have to do:
1. Check the actual space used by /media/internal, write down or take screenshot
# df -h | grep internal

 2. Disconnect cryptofs
# pkill -SIGUSR1 cryptofs
3. Unmount /media/internal
# umount /media/internal
4. Verifying you have clean filesystem, before resizing (in my case, there are differences between boot sector and its backup, but I just choose 'no action' )
# /usr/sbin/fsck.vfat /dev/mapper/store-media
5. Verify how much space used by /media/internal
# lvscan | grep media

6. Decide and take space allocated for ext3fs partition (I took 2GB ext3fs partition for DebianChroot, so I resize /dev/mapper/store-media became 10.64G, from 12.64G)
# resizefat /dev/mapper/store-media 10.64G

7. # lvresize -L 10.64G /dev/mapper/store-media

8. Use free 2G partition to make ext3fs partition
# lvcreate -l 100%FREE -n ext3fs store
9. Format the partition with ext3 filesystem
# mkfs.ext3 /dev/mapper/store-ext3fs
10. Make the filesystem writable
# mount -o remount,rw /
11. Make mount directory
# mkdir /media/ext3fs
12. Add a line in /etc/fstab to automount ext3fs partition on boot up
# echo "/dev/mapper/store-ext3fs /media/ext3fs auto noatime 0 0" >> /etc/fstab
13. Make the filesystem back to read-only
# mount -o remount,ro /
14. Reboot
# reboot

That's it! And I'm pretty sure that you can apply this to any webOS devices :)

Thursday, October 27, 2011

Generate X.509 CER File For #webOS Using openssl

Recently I've got a problem with SSL certificate for outgoing mail server on my Palm Pre. Here's what the error look like:


I looked around in the internet to find a solutions, then I found this page (forgot about the link, but I'm certain that was Palm Support page) that says mail server's certificate should be in X.509 (CER) file format:


Already asked System Administrator to send me the file, but it takes too long. So initiatively I look another way to provide the certificate file myself, and I can do it using openssl command in Ubuntu Linux (You can use openssl in Windows as well). First, I create a script that generate the certificate I need from mail server, name the file any name you want (you can see in the script I used retrieve-cert.sh):
#!/bin/sh
#
# usage: retrieve-cert.sh remote.host.name [port]
#
REMHOST=$1
REMPORT=${2:-443}

echo |\
openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
Add execute (+x) on file properties, then run the files:
$ chmod + retrieve-cert.sh
$ ./retrieve-cert.sh mail.server.hostname 465 >> coid.cer
As you can see, I'm adding '>> mycert.cer' to save the results directly to mycert.cer file, at the command above. Sure I can add this to the script, but this way I can generate any file name I want :)

Then, you must convert that .cer file into X.509 format:
$ openssl x509 -in coid.cer -out coidx509.cer
And you're finish. You can send coidx509.cer file via email that already setup on your Pre, or you can transfer it via USB mode and open it using Internalz.

When you tap on that file, Certificates Manager window will open and ask what do you want to do with it:


Just tap on 'Trust Certificate'. If you want to see it later, open 'Device Info' on your launcher, then tap drop-down menu on top left, tap on 'Certificate Manager...'


That's it. I setup my mail account once again, and sure it can sent email without any error :)

Sunday, October 23, 2011

Recovery Mode in #webOS

Once, I had a difficulty to put my Pre in USB Update Mode. The usual way to turn off the device then turn it on again by holding down volume up button and power button didn't work. So I search the internet for any clue, and I found it here.

These what you need to do:
a. Connect the USB cable to the AC charger, then into a working outlet
b. Turn off your webOS device
c. Remove and reinsert the battery
d. Press and hold volume up button, and connect your USB cable (which already connected to AC charger and working outlet) to the device
Note: You can press and hold R key as an alternative to volume up button
e. Release the volume up button (or R key),  when the screen showing large USB icon







f. run webOS Doctor

I've tried this and it works. Hope this works for you, as well :)

Thursday, October 13, 2011

BingMaps go forth and back to Google Maps

If you haven't know yet, there's an update for Google Maps on your webOS smartphone (Pre, Pixi, Veer), not to another version, but to BingMaps, which is the Maps apps pre-installed in TouchPad.

Like the HP Palm Blog says, you just open App Catalog and download Maps apps from there in order to update your Google Maps.

I did that myself, and not too long after that I decided to get my old Google Maps back. So I open up webOS doctor file and look for Maps application. With the help from #webos-internals on freenode, I found it under /usr/palm/applications in com.palm.app.maps folder. So I re-package it using IPK Packager from Jason Robbitaile.

After deleting Maps apps, I installing this file using webOS Quick Install (wOSQI), again from Jason, and I've got my Google Maps back :)

Newest Firefox Version for Ubuntu 10.04

Default repository on Ubuntu 10.04 prevent us to have version of Firefox above 3.6.x, but with this simple workaround, you can get newest version (7.0.1) for Firefox and Thunderbird, also.

What you have to do is adding this line into /etc/apt/sources.list:
#Firefox-Stable
deb http://ppa.launchpad.net/mozillateam/firefox-stable/ubuntu hardy main
deb-src http://ppa.launchpad.net/mozillateam/firefox-stable/ubuntu hardy main
Do the regular:
$ sudo apt-get update
$ sudo apt-get install firefox
And it's done! :)

Fluxbox installation on Ubuntu Server

Here's what you need to have a decent Fluxbox windowmanager on Ubuntu Server. After all, you don't need a heavy windowmanager on your server :)
$ sudo apt-get install fluxbox fbpager fbdesk xserver-xorg xfs xfonts-terminus-oblique xfonts-100dpi xfonts-75dpi xfonts-scalable xinit
 And that's it! :)

update-notifier-common error on Ubuntu

After doing Ubuntu double upgrade (from 10.04 to 10.10, then continue with 10.10 to 11.04), I've got this error while logging in into the system:
exec: 3: /usr/lib/update-notifier/update-motd-cpu-checker: not found
run-parts: /etc/update-motd.d/20-cpu-checker exited with return code 2
run-parts: failed to stat component /etc/update-motd.d/50-landscape-sysinfo: No such file or directory
exec: 3: /usr/lib/update-notifier/update-motd-updates-available: not found
run-parts: /etc/update-motd.d/90-updates-available exited with return code 2
exec: 3: /usr/lib/update-notifier/update-motd-reboot-required: not found
run-parts: /etc/update-motd.d/98-reboot-required exited with return code 2
Apparently, some package were removed during the upgrade process. All I need to do was installed one packaged:
$ sudo apt-get install update-notifier-common
And everything's back to normal afterwards :)

SSL Certificate Errors on MacOS X

Credit goes to loopkid, for I only put several parts that I used into my blogpost.

Last time I tried to wget a libnotifyperl.pl file from the web, I got this error:


The workaround is by installing curl-ca-bundle using MacPorts:
$ sudo port install curl-ca-bundle
Then, create .wgetrc file in your home directory:
$ vim ~/.wgetrc
And put this line:
CA_CERTIFICATE=/opt/local/share/curl/curl-ca-bundle.crt
That way, you don't need to include the path everytime you want to do a wget.


Monday, October 10, 2011

How To Overcome GPG Errors on Ubuntu Linux (Lucid 10.04)

If you ever got the GPG errors while updating your Ubuntu sources, here's what you have to do to overcome it:

Example of the error might be like this:
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EF4186FE247510BE
And you just need to execute these two commands:
# gpg --keyserver hkp://subkeys.pgp.net --recv-keys KEY
# gpg --export --armor KEY | sudo apt-key add -
Just replace ke KEY with the one that exist on the error. According to the example, the command should be like this:
# gpg --keyserver hkp://subkeys.pgp.net --recv-keys EF4186FE247510BE
gpg: requesting key 247510BE from hkp server subkeys.pgp.net
gpg: key 247510BE: public key "Launchpad PPA for Ubuntu Mozilla Daily Build Team" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

# gpg --export --armor EF4186FE247510BE | sudo apt-key add -
OK
Then you can continue with:
# apt-get update
That's it. Why don't you try it yourself now :)

Tuesday, October 4, 2011

Install sun-java6-jre Package on Ubuntu 10.04

I need this package to be able run Go Aruna Desktop client on my Ubuntu 10.04. Here are what I did:
1. Add new sources
# sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
2. Then do the usual update
# sudo apt-get update
# sudo apt-get dist-upgrade
3. Installing the package
# sudo apt-get install sun-java6-jre
4. Done

Friday, September 30, 2011

TTYtter Notification using LibNotify in Ubuntu Linux

Probably you already read my another blogpost about ttytter. This one is additional information on how to enabling popup notifications (like Growl in Mac OS) . According to my previous blogpost, you can run ttytter by executing this command:
# ./ttytter
And, if in any case, you missed it, then you just need to go to FloodGap website, scroll down a little bit, then under the "Download and change-log" section: right click and save file as 'ttytter' (without extension).



Open terminal, go to the directory where you keep the 'ttytter' file and I'm going to improve that a little bit by moving ttytter file to /usr/local/bin:
# sudo mv ttytter /usr/local/bin


Installing notification system
In order to be able to receive a popup notification, you must installing several package from Ubuntu repositories:
1. Installing git-core and libgtk2-perl-notify package
$ sudo apt-get install git-core libgtk2-notify-perl
2. Make sure you in your home directory by typing:
$ cd
3. Then do these steps:
$ git clone http://github.com/colindean/ttytter-libnotifyperl.git
$ sudo apt-get source libnotify-bin
$ sudo apt-get install gtk-doc-tools
$ sudo apt-get build-dep libnotify
4. Download this patch
5. And do these steps:
$ cd libnotify-0.4.5/ (or whatever version/ directory name you have there, according to version downloaded)
$ patch -p0 < ../notify-send-support_body_from_file.patch
$ ./autogen.sh
$ make
$ sudo make install
After all done, you need to go here to create your own .ttytterrc file and put it in your home directory. That's it. Credit goes to stormsdragon. Enjoy! :)

Monday, September 19, 2011

Meta-Doctor My Pre 2 to Change Boot Logo

I don't really like the HP logo on my Pre 2, so I decided to change it back to original Palm logo (anyway, the touchstone backcover still have "palm" in it, so it will suite well :D ).

Here's what I did:
1. Download the Meta-Doctor file for Pre 2 from here
2. Choose version 2.1.0 (according to my recent webOS version on my device
3. Copying the file on downloads folder under meta-doctor directory
4. From meta-doctor directory, I did this command:
# make DEVICE=pre2 CARRIER=wr VERSION=2.1.0 DISABLE_UPLOAD_DAEMON=1 CUSTOM_BOOTLOGO=scripts/WebOS-Internals.tga EXT3FS_PARTITION_SIZE=4GB clobber all
I think it's obvious: Pre2 as my device, carrier is world ready (wr), version 2.1.0, disabling uploading any log to HP/Palm server, I already put my "palm" image for BootLogo and CUSTOM_BOOTLOGO parameter retrieve it, and last but not least, I'm making 4GB dedicated EXT3FS partition.




That's it, for placing Luna boot logo parts.. I'll write another blogpost :)

Sunday, September 18, 2011

Upgrade/ Migrating From #webOS 1.x to 2.x

I just quote this post from here, you can also take a look my previous blogpost about backup/ restore #webOS device:

"In webOS 2.0, the App Launcher was totally rewritten.  As a result, the locations of your application icons may not be reloaded correctly upon upgrading your profile to webOS 2.0.  While the Save/Restore Launcher script is compatible with webOS 2.0, it will not be able to restore the launcher data if it was originally saved from webOS 1.x.  While you will manually have to rearrange your launcher icons, this process may be made easier if you made screenshots of your App Launcher or you still have your original webOS 1.x device in Airplane mode. Also, when rearranging large numbers of icons, it may also be helpful to use the new Rearrange Launcher Pages functionality in webOS 2.0 to prevent the need to move across multiple launcher pages"

Note that once you update to webOS 2.0 or higher, your profile will no longer be able to be loaded onto a webOS 1.x device.

Activating Global App Catalog Access For New Unlocked GSM Pre 2

Once again @webosinternals has something incredibly amazing. With the tools called Impostah, installed from Preware, it is possible to activating brand new unlocked GSM Pre 2 (actually this is also works for other #webOS device like Veer and Pre 3) to have Global App Catalog Access. This such an extraordinary, especially for someone like me who live outside HP/Palm official country partner. I already tried this myself, with my brand new Pre 2 UK version activated to have access to US App Catalog.

This is the warning from Rod Whitby from @webosinternals:
"You have to note that this procedure is performed at your own risk. The worst that can happen is that you don't get paid app catalog access. If Palm changes anything on the app catalog servers, this procedure may be invalidated without warning. They have done so before, and could do so again"

Here's what you have to do:
1. Take the device out of the box, turn it on WITHOUT inserting any SIM card
2. When the screen show a notification to insert a SIM card, just ignore it
3. Type #*, wait a second, and then when phone dial pad appear you can continue to type the rest of #*3386633# and hit the green phone key
4. The "Developer Mode" app will open, turn it ON, then your device will reboot
5. Once booted, you presented with launcher screen.
6. Connect your device to PC and installing Preware (you can download newest stable version here)
7. Open up Preware, update feeds, then install Impostah
8. Open Impostah, tap on "Activation" menu
9. Select your desired activation country and language
10. Create a new profile (different from your real one, if you already have one before), then hit "Login To Profile" and confirm your request
11. Go to http://palm.com/palmprofile and confirm that your device has been correctly registered
12. Open the App Catalog and confirm that you have paid app catalog access. You can test this by purchasing teh Preware Homebrew Documentation app. A 5 star rating is also a good way to show your thanks.
13. To make sure everything has been initialized correctly, you should do full erase (You can also run the webOS Doctor, if you'd like) and go through the normal official sign-in process. Don't forget to insert a SIM card :)
14. Since your device has been pre-activated with Impostah, you will retain your app catalog country settings.
15. Donate to WebOS Internals

Wednesday, September 14, 2011

Backup and Restore Your webOS Device


The simple way is using Backup app, already provide by HP/ Palm within your webOS device. Whether you're on webOS version 1.x, 2.x or 3.x. You can find complete information about using Backup here. If you don't care about any progress you may have made in your games, or information you added to 3rd party apps, just using this two methods would be enough (Please note that Messaging and Email contents are not saved):
1. Backup app
2. copying the files on your USB drive


But since homebrew developer are so keen to provide us with many superb apps, you should use Preware and then installing Save/Restore apps from there. Using Save/Restore apps, combining with Backup app and copying files from your USB drive, you should be able to get 99% of your data back when restoring.


Here's how to do it:
Backup
1. Open Backup app and perform a "Back Up Now" (make sure you know your Palm Profile email address)






2. Open Preware, update the feeds, swipe down Preware dropdown menu, select "Saved Package List" and click "Update". This will save a copy of all homebrew apps, patches and other packages you have installed from Preware






3. Open Save/Restore, select "Save Application Data" and click "Save Selected" (all apps are selected by defaults)






* If you're running webOS 2.0 or higher, you need to ensure that Voice Dial app is the last app on your first launcher page, this due to an oddity of webOS 2.0 that affect the Launcher script in Save/Restore






4. Connect your phone to a computer and connect as a USB drive. Make a backup of your entire USB drive, including "saverestore" directory






* Folders that should not back up are .app-storage, .palm, and .developer
5. Eject


Additional:
1. Take a screenshot of all your App Launcher pages (using Orange key + Sym key + P)
2. If you're running webOS 1.4.5 or earlier, backup /var/luna/data/dbdata/PalmDatabase.db3 file. This file contains a large amount of your Palm Profile data, including contacts, calendar entries, memos and more for you to reference, providing you use a database program such as SQLite to access it.
3. If you have made any additional "tweaks" to your device, such as replacing the boot-up image or the lock icon, you will want to make sure you have a backup for those files as well


Restore
1. After you swipe/ doctor/ full erase your webOS device, you can start restoring your backup data by sign back into your Palm Profile (after reset, all of your App Catalog Apps will start to reinstall and your accounts will resync all their data)
2. Reinstall Preware, then Save/Restore
3. Connect the phone to the computer, then copy back all your backup data including "saverestore" directory
4. Eject
5. Open Save/Restore, select "Restore Application data", select only Preware and click “Restore Selected”






6. Restart device
7. Open Preware, update the feeds, swipe down Preware dropdown menu, select "Saved Package List" and click "Install All"






8. If you have any apps or patches that were installed outside of the feeds (including any from Palm's Beta or Web feeds), you should manually re-install them using Preware, webOS Quick Install, Internalz Pro or any other method you are familiar with
9. For each app that you plan on restoring data to with Save/Restore, open and close each app one time in order to initialize the cookies and databases for that app
10. Open Save/Restore, choose "Restore Application data", click "Select All" but uncheck Preware  (as well as any other apps you do not want to restore), and then click "Restore Selected"
11. Restart device
12. If you took screenshots of your Launcher pages you may want to compare the apps that were downloaded on your new device to ensure that none of your favorite apps are missing


Credit goes to folks at Precentral, and you can find the full post here


Friday, August 26, 2011

Installing Installous Using Cydia

Here's how to get Installous from Cydia:
1. Your iOS device must already been jailbreak, you can see here for my blogpost about jailbreak-ing iOS device
2. Open up Cydia
3. If you open it up for the first time, choose "Developer" mode
4. Once it loaded, click "Manage" then choose "Source"
5. Click 'Edit' then 'Add'
6. Type in: "cydia.hackulo.us" (withou quotation marks), and click on "Add Source" button
7. There would be popup shown, wait for the process to finish, then click "Back to Cydia" button
8. Click "Search" then type "Installous"
9. When the search listing its results, choose Installous 4 then install
10.  Now you have Installous installed on your iOS device :)

Saturday, August 20, 2011

Adding Testing Feed to Preware

Please be aware that you have to do this at your own risk. Adding Testing Feed mean that you aware and ready to download beta updates, if available, of any applications in Preware. You must see here for complete explanations.

In this blogpost, I only write down for my Palm Pre. Here's how to do it:
1. Open up Preware, let it finish loading applications
2. Swipe down top left corner of the screen, then choose "Manage Feeds"
3. Scroll to the bottom until you see New Feed Box
4. Fill in the box, make sure the URL doesn't have a slash at the end:
a. Name: webos-testing-all
    URL: http://ipkg.preware.org/feeds/webos-internals/testing/all 
b. Name: webos-testing-arm7
    URL: http://ipkg.preware.org/feeds/webos-internals/testing/arm7
5. Make sure the IS COMPRESSED option is set to YES
6. Tap "Add Feed" and tap "YES" for popup alert
7. Gesture swipe back, and Preware will request you to reboot the device.

Friday, August 19, 2011

#webOS: How to remove EXT3FS partition

I assume you already tried to run UbuntuChroot on your #webOS device, and now you'd like to get back any space taken by EXT3FS. Here's simple thing you can do:
1. Connect your webOS device to your PC
2. Open up Terminal (Mac/ Linux) or Command Prompt (Windows), then type "novaterm"
3. And after you presented by your webOS device's root shell, run this command:
a. Unmount EXT3FS partition:
# umount /dev/mapper/store-ext3fs
b. Remove EXT3FS partition:
# lvremove /dev/mapper/store-ext3fs


4. Then run meta-doctor to re-assign all space to user's diskspace


Or, if you already do Meta-Doctor first, like I did :p , you can follow these steps:
1. Connect your webOS device to your PC
2. Open up Terminal (Mac/ Linux) or Command Prompt (Windows), then type "novaterm"
3. And after you presented by your webOS device's root shell, run this command:
a. Display LV size of EXT3FS partition, don't forget to write that down:
# lvdisplay /dev/mapper/store-ext3fs
b. Remove EXT3FS partition:
# lvremove /dev/mapper/store-ext3fs
c. Display existing user diskspace partition:
# df -kh

d. Unmount existing user diskspace partition:
# umount /dev/mapper/store-media
e. Resize existing user diskspace by adding size of previous EXT3FS partition:
I'm using /etc/fstab to see the filesystem of user's diskspace and /proc/partitions to see total allocation for user's diskspace:



# resizefat /dev/mapper/store-media 6995968K

And here's what you've got on user's diskspace after everything is done:


Enjoy! :)

Wednesday, July 20, 2011

Running UbuntuChroot on #webOS

Recently I just managed partitioning my Pre to make it possible running UbuntuChroot in it. Yes, you've got it right, UbuntuChroot running on my Pre. You can see here for the Wiki. The hard thing is the first part, because you have to Meta-Doctor-ing your Pre, so it will have separate ext3fs partition. I'm Doctor-ing using webOS 2.1.0, and skip the "git" part, you have to search for it in the internet.

1. Here's the command I used:
$ make DEVICE=preplus CARRIER=wr VERSION=2.1.0 ENABLE_DEVELOPER_MODE=1 DISABLE_UPLOAD_DAEMON=1 DISABLE_UPDATE_DAEMON=1 CUSTOM_MODEL_LIST=P100UEU CUSTOM_BOOTLOGO=scripts/WebOS-Internals.tga EXT3FS_PARTITION_SIZE=2GB clobber all
2. After it done, run the installation process. And continue with configuration to automounting ext3fs partition at device boot.
3. Using Preware, activate the testing feed, then installing Xcecutah, Xserver and UbuntuChroot 11.04
4. Launch Excecutah to run Xserver and UbuntuChroot 11.04, here's what I've got:



5. You can use usual Ubuntu apt-get command to update repository and installing packages. And you can also use apt-cache search to look for certain packages that works on ARM processor.
6. This is the screenshot of htop running on my Pre:


Friday, July 15, 2011

Google Latitude on #webOS

The lack of Latitude feature on Google Maps for #webOS is really unpleasant, but people at precentral already manage to enable it, easily.

All you have to do is launch your #webOS browser, then open up this URL: http://maps.google.com/maps/m?mode=latitude






Magically it will launch Google Maps with Latitude feature in it.





To make it easy to launch everytime I need it, I installed patch like I explained in my previous blog post, so I make Launcher icon and named it "Google Latitude"



Set Permanent Compcache on #webOS 2.1.0

If you're using Pre and meta-doctored it to #webOS 2.1.0 like I did, you should install and using Govnah + custom kernel (UberKernel). And then, since Pre only has 256 MB of memory, you can tweak the compcache (from Linux compcache that already porting to custom kernel by webos-internals) to make the value changed from only 10 MB to 32 MB, so the performance will enhance.

I tend to make it permanent, so here's what I did:
1. Connect Pre using USB cable to your PC
2. Accessing linux:
$ novaterm
3. Type following command:
# /usr/sbin/rootfs_open -t
# vi /etc/event.d/compcache
4. Change the value:
Look for value 10240 in line 10, then replace it with 32768, save and quit (:wq)
5. Reboot the device:
# /sbin/reboot

After it rebooted, you can check the compcache value using Govnah. For complete how-to, you can check here.

Monday, July 11, 2011

Installing Dropbox on Ubuntu Server 10.04

Just installed on my PC running Ubuntu Server 10.04, a little hard to find source to add to repository. But here it is, all you need to do is just follow these steps:

1. Make sure you have installed Nautilus
$ sudo apt-get install nautilus
2. Install public key to authenticate Dropbox's Ubuntu repository
$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5044912E
3. Add source to repository
$ sudo vim /etc/apt/sources.list
#Dropbox
deb http://linux.dropbox.com/ubuntu lucid main
4. Update repositories
$ sudo apt-get update
5. Install Dropbox integration for Nautilus
$ sudo apt-get install nautilus-dropbox
6. Starting Dropbox daemon
$ dropbox start -i


You have to restart all intances of Nautilus, then start Dropbox and fill in your account information. That's it! :)



Friday, July 8, 2011

How to Make MacPorts vim default in Mac OS X Terminal

If you, like I did, ever wanted to use vim with more option, e.g. support for python, or ruby.. then you have to re-compile vim in order to use it in your Mac OS X. You can compile from source, or using Macports like me. You can also view several daily used command for macports in my blogpost here.

First, you can check what version of vim you have by typing "vim" in your Terminal apps. Then, using macports, you just execute this command:
$ sudo port -v install vim +python
After finished, you can find that newest version of vim (compare to built-in version of vim), is located in: /opt/local/share/vim/ directory

Or you can find it using find command:
$ sudo find / -name "vim"
After that, you need to put the path into $PATH, because if you're not doing that, Terminal apps in Mac OS X will execute the default built-in vim. Also, you need to put it in the beginning of your path:
PATH=/opt/local/share:/opt/local/bin:/opt/local/sbin:$PATH
That's it. Close your Terminal window/ tab, and start a new one. Type "vim" on your shell, and you'll see that you already have the new version of vim. Enjoy! :)

Show hidden files in Mac OS X Finder

While accessing my #webOS device, there comes a time when I need to show hidden files. But you can't find anywhere in the menu, just like you did with Folder Properties in Windows operating system. All you have to do is simple, using Terminal apps. Here's what you have to do:

1. Open Terminal apps
2. Type this command:
$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder
And suddenly you'll find changes in your Finder. If you ever want to get the already-revealed hidden files to default, just type the same command as above and change TRUE to FALSE:
$ defaults write com.apple.finder AppleShowAllFiles FALSE
$ killall Finder


Adding Flash Support in #webOS 2.1.0 Meta-Doctor

I've contributed to this wiki page, with the help of many homebrew developers. And also, although step no. 6 is obsolete as in written in the wiki page, I've already done this 3 times and always succeeded if I'm doing step no. 6. So, I put it in here :)

Adobe Flash

Adobe Flash is not included in this webOS 2.1 doctor, but can be added with files from a VZW Pre 2 2.0.1 doctor.

Adding Flash Support

The easiest way to enable Adobe Flash on your webOS 2.1.0 legacy device is by creating a modular package and installing that, along with a patch to make the Adobe Flash preferences visible in the browser.

Step 1. Prerequisites

  • Download the Verizon 2.0.1 Pre 2 Doctor (here)
  • Download Jason Robitaille's IPK Packager (here)
  • Download webOS Quick Install (here)
  • Download temporary directory (here) and unzip the FlashPluginContainer folder to your desktop
  • Download patch to enable Flash preferences in the browser (here)

Step 2. Unpack

  • Open the 2.0.1 doctor with an archive manager, like 7zip. Navigate to "resources/webOS.tar/./nova-cust-image-roadrunner.rootfs.tar.gz/./" This is where the Flash files are stored.
  • Extract the following files from the webOS ROM:
/etc/adobe/mms.cfg
/etc/adobe/oem.cfg
/usr/lib/BrowserServerPlugins/libflashplayer.so
/usr/lib/BrowserServerPlugins/resource/plugin-icon-noplay.png
/usr/lib/BrowserServerPlugins/resource/plugin-icon-play-down.png
/usr/lib/BrowserServerPlugins/resource/plugin-icon-play.png
/usr/lib/BrowserServerPlugins/resource/plugin-icon-unknown.png
/usr/lib/BrowserServerPlugins/resource/plugin-scrim.png
/usr/lib/libFlashGraphics.so
/usr/lib/BrowserServerPlugins/FlashMiniAdapterData/plugin-icon-noplay.png
/usr/lib/BrowserServerPlugins/FlashMiniAdapterData/plugin-icon-play.png
/usr/lib/BrowserServerPlugins/FlashMiniAdapterData/plugin-icon-unknown.png
/usr/lib/BrowserServerPlugins/FlashMiniAdapterData/plugin-scrim.png
/usr/lib/BrowserServerPlugins/FlashMiniPlugin.so

Step 3. Drag 'N' Drop

  • Simply place the files from the ROM into the FlashPluginContainer folder in their respective locations.
  • Pay close attention to where each file/folder is stored inside the webOS ROM.

Step 4. Packaging

  • Open Jason's IPK Packager and point the program to the files folder. Do NOT point to FlashPluginContainer, as the install will fail.
  • The rest of the fields will populate on their own.
  • Save the IPK file somewhere using "Create IPK Package." You may want to keep it handy.

Step 5. Wrap Up

  • Use webOS Quick Install to install both IPK and patch.
Note: The patch to enable Flash preferences is also available in Preware.
Note: People are reporting problems with installing the IPK with WOSQI v4.04, installing it via Preware seems to work well.

Step 6. Edit system files

Open /usr/palm/applications/com.palm.app.browser/app/controllers/preferences-assistant.js (either in your MetaDoctor or on your live device -if on a live device, remember to make a backup!)

Find the following two lines (should be lines 46 & 47) and comment them out by adding // to the beginning of each line:
this.controller.get("flashPref").hide();
this.controller.get("autoLoadPref").hide();

Step 7. Reboot

Reboot your devices for changes to take effect

Wednesday, June 29, 2011

Mode Switcher for your webOS

This is most advanced profile swithcer for #webOS device, truly powerful :) All you have to do is install Preware in your device, then search for Mode Switcher in it and install it. For Mode Switcher 2.x, you can add additional patches like:

  1. Advanced System Menu - Mode Menu
  2. Advanced System Prefs Patches


Complete reference can be seen here or in the wiki. Below is matrix for profile I've been created:


Tuesday, June 21, 2011

Using tcpdump in Mac OS X

This is just notes taken for personal use on which options used in tcpdump command:
# sudo tcpdump -i en0 -vvv -K -n -s 0 -w ~/Desktop/DumpFile.dmp

or without -K option:
# sudo tcpdump -i en0 -vvv -n -s 0 -w ~/Desktop/DumpFile.dmp
If you want to stop it from capturing, just press control-c. And to view the file:
# sudo tcpdump -s 0 -n -e -x -vvv -r ~/Desktop/DumpFile.dmp

Here's options explanation using in command above:
-i     interface
-vvv     even more verbose output
-K     don't attempt to verify TCP, UDP and IP checksums
-n     don't convert addressed to names
-s     snaplen settings. setting snaplen to 0 means use the required length to catch whole packets
-w     write the raw packets to file rather than parsing and printing them out
-x     when parsing and printing, in addition to printing header of each packet, print the data of each packet (minus its link level header) in hex
-r     read packets from file

Monday, June 20, 2011

PIMBackup and How To View Backup Data On PC

When I'm using Windows Mobile (now Windows Phone), one of the software I used a lot is PIMBackup since I often testing ROMs, so I need to backup and restore my Contacts, Calendar and Messaging data. Once I have a need to view my backup data on PC, and there is a little workaround to do, so the backup files can be opened and view using spreadsheet application (Microsoft Excel, OpenOffice.org, LibreOffice, Numbers or anything else). Here's what you have to do:

1. When doing a backup, make sure "Binary Backup (faster)" option is uncheck
2. Do the backup, and you'll get .pib file
3. Move that .pib file to PC, open it using WinZip or any other extractor applications
4. There are several files in it (depends on which data you choose to backup: contact, calendar, sms, etc.)
5. Choose one files, e.g.: contacts_[backupdate].csc, rename it to .csv
6. Launch your spreadsheet application (I'm using Microsoft Excel), then open that contacts_[backupdate].csv file
7. There'll be popup Text Import Wizard window, choose "Delimited" for Original data type, press NEXT



8. And put semicolon (;) in Other for Delimiters, press FINISH



9. Your backup files will be presented neatly, separated in each column. Now you can edit or view it as you need.
10. Done! :)

Setting Up Free Email @YourDomain From Google

If you already own a domain (or if you haven't), you can get free email features from Google Apps, and the steps if very simple.

1. Go to this link, input your domain name and click on Get Started
2. Follow the steps
3. When you finished, you'll be directed to your Google Apps dashboard
4. You can also get back there through: http://www.google.com/hosted/[your-domain]
5. See here for configuring your domain to route incoming message to Google email servers
6. Change your domain MX record from your domain control panel (according to your domain provider setting), you can also contact your domain provider if you have any difficulties.
7. And if you already done with all of those steps above, you can continue to create email address, email list, etc. from your Google Apps dashboard. And now you can have all features from Google free email.

Friday, June 17, 2011

Google Calendar Sync With iCal in Mac OS X Tiger

You can see the complete version of this tutorial here, I've tried and using this on my Tiger (when I'm still using PowerBook G4, back then) and it works well. If you are using Snow Leopard, the option already available in both iCal and Address Book to sync automatically to Google Account. Since this tutorial is a lot and in detail, so I just copy-paste and put it here. Credits goes to all the guys at GCALDaemon team. Cheers! :)


Installation on Mac OS X
  Install GCALDaemon into the '/usr/local/sbin' directory
1) GCALDaemon supporting a Java Virtual Machine (VM) such as found in Sun's JDK or JRE, version 1.5 or higher. Check your java version:

java -version

java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing) 


2) Download the latest Linux-compatible ZIP file from SourceForge.net into your '/downloads' directory (or into your accustomed download directory).

3) Unzip this archive under the '/usr/local/sbin' directory. If the '/usr/local/sbin' directory does not exists (for example you get a 'No such file or directory' message), there are two alternative ways; you can create this via 'sudo mkdir -p /usr/local/sbin' command, or unzip GCALDaemon into the '/Applications' folder. The '/usr/local/sbin' directory is recommended but not obligatory, so you can deploy GCALDaemon into any optional folder. If you would like to allow every users to use GCALDaemon, you may type 'sudo chmod 777 /usr/local/sbin/GCALDaemon'. First change the group ownership and set the rights.

cd /usr/local/sbin
sudo unzip /downloads/gcaldaemon-linux-1.x.zip

sudo chgrp -R admin /usr/local/sbin/GCALDaemon
sudo chmod -R g+w /usr/local/sbin/GCALDaemon
sudo chmod 755 /usr/local/sbin/GCALDaemon/bin/*.sh

Note: if you saved this ZIP to your Desktop, you should use 'sudo unzip /Users//Desktop/gcaldaemon-linux-1.x.zip' instead of 'sudo unzip /downloads/...' command.

4) Test your configuration with the 'password-encoder.sh' script.

cd /usr/local/sbin/GCALDaemon/bin
./password-encoder.sh

5) If you see something similar to the line above, your installation has succeeded.

Your Google password: _
6) Press ENTER to quit from the encoder. Then you should read the setup guides about the synchronization. If you use Apple iCal or an iCal-compatible PDA/Mobile synchronizer read the guide about the file-based synchronization. If you use Kontact, Mozilla Calendar, Sunbird or Lightning read the guide about the HTTP-based synchronization. Some calendar applications ignore time-zone properties. When your local time-zone settings are incorrect your events may be off by one or more hours. To resolve this effect, please verify that thetime-zones in your Google Calendar settings and in the OS / local calendar application are the same. If you have trouble with running, please read the next ('Install GCALDaemon into an arbitrary directory') chapter hereinafter, and verify the file paths in the config files.


  Install GCALDaemon into an arbitrary directory
1) Download the latest Linux-compatible ZIP file from SourceForge.net into your '/downloads' directory (or into your accustomed download directory).

2) Unzip the archive to your directory (for example '/Applications'). Change the group ownership and set the rights.

cd /Applications
sudo unzip /downloads/gcaldaemon-linux-1.x.zip

sudo chgrp -R admin /Applications/GCALDaemon
sudo chmod -R g+w /Applications/GCALDaemon
sudo chmod 755 /Applications/GCALDaemon/bin/*.sh

Note: if you saved this ZIP to your Desktop, you should use 'sudo unzip /Users//Desktop/gcaldaemon-linux-1.x.zip' instead of 'sudo unzip /downloads/...' command.

3) Setup finished - test your configuration.

cd /Applications/GCALDaemon/bin
./password-encoder.sh

4) If you see something similar to the line above, your installation has succeeded (go to point 9). If you have trouble with running, you must edit and replace some absolute file paths in the starter scripts (go to point 5).

Your Google password: _
5) Edit 'GCALDaemon/bin/password-encoder.sh' script. Replace '`dirname "$0"`/..' to '/Applications/GCALDaemon'.

#!/bin/sh
#
# Run the password encoder
#

GCALDIR=/Applications/GCALDaemon

java -cp $GCALDIR/lib/gcal-daemon.jar org.gcaldaemon.core.PasswordEncoder 


6) Set the GCALDIR variable in the 'GCALDaemon/bin/standalone-start.sh' service starter script.

#!/bin/sh
#
# Run GCALDaemon
#

GCALDIR=/Applications/GCALDaemon

java -cp
$GCALDIR/lib/commons-codec.jar:
$GCALDIR/lib/commons-lang.jar:
...
$GCALDIR/lib/jdom.jar org.gcaldaemon.standalone.Main
$GCALDIR/conf/gcal-daemon.cfg 


7) Set the GCALDIR variable in the 'GCALDaemon/bin/sync-now.sh' synchronizer script.

#!/bin/sh
#
# Run GCALDaemon once then quit
#

GCALDIR=/Applications/GCALDaemon

java -cp
$GCALDIR/lib/commons-codec.jar:
$GCALDIR/lib/commons-lang.jar:
...
$GCALDIR/lib/jdom.jar org.gcaldaemon.standalone.Main
$GCALDIR/conf/gcal-daemon.cfg
runonce 


8) Test the application with 'password-encoder.sh' script. If you see something similar to the messages above, your installation has succeeded.

Your Google password: _
9) Then you should read the setup guides about the synchronization. If you use Apple iCal or an iCal-compatible PDA/Mobile synchronizer read the guide about the file-basedsynchronization. If you use Kontact, Mozilla Calendar, Sunbird or Lightning read the guide about the HTTP-based synchronization. Some calendar applications ignore time-zone properties. When your local time-zone settings are incorrect your events may be off by one or more hours. To resolve this effect, please verify that the time-zones in your Google Calendar settings and in the OS / local calendar application are the same. GCALDaemon is designed to run as an 'invisible' Java service. Ideally it started with your OS each system boot (or user login), so you should configure your environment to launch GCALDaemon automatically using Lingon (see also in iCal guide). If you have trouble with the working, try to switch the application's log level to DEBUG, in 'GCALDaemon/conf/logger-config.cfg':

# Valid log levels: DEBUG, INFO, WARN, ERROR or FATAL
log4j.category.org.gcaldaemon=DEBUG

Then open 'log/gcal-daemon.log' file with your text editor. This log file helps you to identify bugs and configuration problems (e.g. 'Invalid credentials' error message means that the username/password you entered were invalid). If you still have trouble with installation, move on to http://sourceforge.net/forum/?group_id=184382 and please share your experiences with the rest of us. If you have feedback about current releases, this forum is the place to share them. Thank you!