<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dkirker</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dkirker"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Dkirker"/>
	<updated>2026-04-21T14:23:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MojoDB_Partition_Resize&amp;diff=22089</id>
		<title>MojoDB Partition Resize</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MojoDB_Partition_Resize&amp;diff=22089"/>
		<updated>2016-07-07T04:39:03Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: Add some error workarounds.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you use your webOS device frequently, you have probably encountered the &amp;quot;Application database full&amp;quot; error, and were confused by it. It is a very confusing error, and the remedies are equally confusing. The error suggests deleting data, but it isn't clear what data. I learned that it meant app data (such as emails, contacts, calendar events), and not media. Though, the amount of files that you have on your USB partition can play a factor, too. Unfortunately, the tricks to get this error to go away are very few and short-lived. As a result, you will be greeted with the next evil error. That error will force you to reset your device. In this process, you are required to sign back into your Palm profile and watch in horror as all of your apps re-download, all of your Preware apps gone, as if you got the device new.... Nasty.&lt;br /&gt;
&lt;br /&gt;
Well, there is a solution (and no, I won't be trying to sell you some anti-aging cream, or miracle spray, so rest assured, I have tried this on my own Pre3).&lt;br /&gt;
&lt;br /&gt;
== The Dirty Bits ==&lt;br /&gt;
&lt;br /&gt;
webOS 2.0 came along and offered a new application data storage feature. It allowed you to store data in a database called db8. It is pretty magical, and allows apps to share data through permissions. But, this feature had one fatal flaw. It was placed on its own isolated partition. This is a great way to protect the data, to some extent, but it limits how much data you can have on your device. The partition is only 135MB in size... You can use that quickly if you have a ton of files on your USB partition (the media indexer uses this database to store the index of the files on the USB partition), a few email accounts syncing regularly and storing a large backlog, and Koto Player indexing your media... This partition is /var/db... We will resize it.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
There are three partitions of interest in the webOS world that can hold some valuable data. There is /var/db (the application data store), /var/file-cache (this stores a cache of contact pictures, email attachements, and a few other things, but is generally less important), and /var itself. The one we will focus on now (that causes the most trouble) is /var/db. Later I may add notes to changing the sizes of the others.&lt;br /&gt;
&lt;br /&gt;
==== FAIR WARNING ====&lt;br /&gt;
&lt;br /&gt;
I have seen people on the webOSNation forums recommend deleting large text files from the /var/db partition that do not have a &amp;quot;.db&amp;quot; extension. DO NOT (let me repeat that '''DO NOT''') delete these files. They are database journal files. A journal is a small record of entries written to a database or filesystem that a data management system can look to in the event that it is abruptly and uncleanly shutdown. It allows the device to &amp;quot;replay&amp;quot; transactions (so to speak) if you, say, were to pull the battery because the device seemed frozen. Deleting these files can put the journal and database out of sync, and the results of that are pretty messy and require a few hours of patient database cleanup....&lt;br /&gt;
&lt;br /&gt;
== Pre-Operation Warnings ==&lt;br /&gt;
&lt;br /&gt;
As should always be noted, there is always a chance that something could go HORRIBLY wrong. As a result, I provide absolutely NO warranty of any kind. You are on your own. As always, backup your data (using whatever process makes you feel the most secure, whether it is just copying off a few beloved photos, or doing a full mem dump).&lt;br /&gt;
&lt;br /&gt;
I have only tested this on webOS 2.2.4 on a Pre3. It should work on any webOS 2.0+ device (likely including a TouchPad). If you do this on some other type of device, please report back!&lt;br /&gt;
&lt;br /&gt;
== Let's Go! ==&lt;br /&gt;
&lt;br /&gt;
Basically, what you will do is shave some space off of your /media/internal partition, and hand that over to the application database. I went safe and did about 500MB for mine. &amp;quot;Memory is cheap&amp;quot;, so why not? I'll give you the commands below.&lt;br /&gt;
&lt;br /&gt;
You can check your current usage with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I recommend getting your current usage (-h means &amp;quot;human&amp;quot;), then subtract about 512MB from it and use that number below when shrinking the media partition (My media partition was about 12.8G, so I just made it 12.2G, which gives me about 600MB available, and I enlarged my mojodb partition by 512MB, so I'll have a few MB leftover, which is fine since you may have to grow /var later on). Make sure that you have enough room to shrink your media partition! I recommend backing it up, and deleting anything to clear space if you need to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
## Shrink the media partition&lt;br /&gt;
&lt;br /&gt;
# Need to stop the cryptofs process, or rather &amp;quot;pause&amp;quot; it&lt;br /&gt;
pkill -SIGUSR1 cryptofs&lt;br /&gt;
&lt;br /&gt;
# Unmount the /media/internal partition&lt;br /&gt;
umount /media/internal&lt;br /&gt;
&lt;br /&gt;
# Shrink the partition (Replace 12.2G with the amount of space you want to reduce to. I think that the partition is 12.8 by default?)&lt;br /&gt;
resizefat -v /dev/mapper/store-media 12.2G&lt;br /&gt;
&lt;br /&gt;
# Reduce the logical volume (make the &amp;quot;physical&amp;quot; disk smaller) 12.2G is the **SAME** number as above.&lt;br /&gt;
lvreduce -L 12.2G /dev/mapper/store-media&lt;br /&gt;
&lt;br /&gt;
# Remount&lt;br /&gt;
mount /media/internal&lt;br /&gt;
&lt;br /&gt;
# Restart the cryptofs service&lt;br /&gt;
pkill -SIGUSR2 cryptofs&lt;br /&gt;
&lt;br /&gt;
## Increase the Application Database&lt;br /&gt;
&lt;br /&gt;
# Stop the MojoDB service&lt;br /&gt;
/sbin/stop mojodb&lt;br /&gt;
&lt;br /&gt;
# Unmount the filesystem&lt;br /&gt;
umount /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Extend the file system up&lt;br /&gt;
lvextend -L 512M /dev/mapper/store-mojodb&lt;br /&gt;
&lt;br /&gt;
# Extend the encrypted size up&lt;br /&gt;
cryptsetup resize /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Resize the underlying filesystem&lt;br /&gt;
resize2fs -f -p /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Remount&lt;br /&gt;
mount /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Restart the service&lt;br /&gt;
/sbin/start mojodb&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It might be worth rebooting here, too. df -h should show that you have a roughly 512MB /var/db. The application database error should be in your past. :) The only time you may experience a serious error about the application database is if it happens to become corrupt...&lt;br /&gt;
&lt;br /&gt;
== I got an error :( ==&lt;br /&gt;
&lt;br /&gt;
You might encounter errors, so here are some work-arounds.&lt;br /&gt;
&lt;br /&gt;
=== umount: can't umount /media/internal: Device or resource busy ===&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ps -lf  -p $(fuser -c /media/internal 2&amp;gt;/dev/null)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will get output that looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# ps -lf  -p $(fuser -c /media/internal 2&amp;gt;/dev/null)&lt;br /&gt;
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY        TIME CMD&lt;br /&gt;
5 S root       998     1  0  80   0 -  3041 fuse_d 20:03 ?          0:18 cryptofs -o nonempty -o allow_other -s -r /media/internal/.palm /medi&lt;br /&gt;
4 S luna      1368     1  0  80   0 - 14577 poll_s 20:04 ?          0:01 /usr/bin/BrowserServer&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It looks like BrowserServer is stopping us... Let's stop it!&lt;br /&gt;
&lt;br /&gt;
Use the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
stop browserserver&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then re-try the unmount command above. When done, execute this command to start the BrowserServer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
start browserserver&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
If you are resizing your Partition like this you will most lickaly run into this problem next [[DB_quota_exceeded]], so for awareness it could be worth reading that page too. &lt;br /&gt;
&lt;br /&gt;
== Future Looking ==&lt;br /&gt;
&lt;br /&gt;
My goal is to add this feature to Tailor. What I really am considering is setting up the partition like /media/cryptofs. If you notice, it shares the same size attributes as /media/internal. That is because they are the same partition! /media/cryptofs is actually a special cryptofs partition ontop of /media/internal. I would think that one could do this to /var/db, too. This would give one the most flexibility over application installation, data storage, and media space.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21933</id>
		<title>MimeTypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21933"/>
		<updated>2013-08-19T05:43:16Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Intro =&lt;br /&gt;
&lt;br /&gt;
There are a couple of methods for registering an app to handle a particular MIME type or extension, URL scheme, or URL redirect.&lt;br /&gt;
&lt;br /&gt;
I (dkirker), personally recommend the appinfo method, as it applies when your app installs, and is the easiest to maintain.&lt;br /&gt;
&lt;br /&gt;
Both methods can be controlled from within the &amp;quot;Default Apps&amp;quot; scene in the &amp;quot;Device Info&amp;quot; app. (Open the &amp;quot;Device Into&amp;quot; app, select the menu, choose &amp;quot;Default Applications&amp;quot;. Some patches provide this in other areas.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''BIG IMPORTANT NOTE'''&lt;br /&gt;
&lt;br /&gt;
Developers '''SHOULD ALWAYS''' open URLs to documents and resources through the system manager, and not by calling an app directly. You can do this by calling:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Mojo:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.controller.serviceRequest(&amp;quot;palm://com.palm.applicationManager&amp;quot;, {&lt;br /&gt;
  method: &amp;quot;open&amp;quot;,&lt;br /&gt;
  parameters:  {&lt;br /&gt;
      target: &amp;quot;the url or resource that you want to open&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In luna-send:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
palm://com.palm.applicationManager/open '{&amp;quot;target&amp;quot;: &amp;quot;the url or resource that you want to open&amp;quot;}'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This allows the system to determine the user's preferred application. If you call the applicationManager with the &amp;quot;launch&amp;quot; method, you will be stoned to death with a bag full of Veer's. Just sayin'! ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= appinfo.json Method =&lt;br /&gt;
&lt;br /&gt;
There is a &amp;quot;mimeTypes&amp;quot; keyword that you can use within your appinfo.json file to auto-register your app. When the system receives a URL or file that your app can handle, your app is launched with a launch parameter &amp;quot;target&amp;quot; set to the location of the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scheme ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    {&amp;quot;scheme&amp;quot;: &amp;quot;maploc&amp;quot;}&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LunaSysMgr actually converts this to a URL pattern to a regular expression as follows, and registers that:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^&amp;quot; + scheme + &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
So, to register a scheme, just use a value that is the part before the &amp;quot;:&amp;quot; or &amp;quot;://&amp;quot; in a URL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== URL Pattern ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;urlPattern&amp;quot;: &amp;quot;^https?:&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value of &amp;quot;urlPattern&amp;quot; is a regular expression to match against the URL that LunaSysMgr is handling. This is a GREAT way to allow apps for services that have a website (say, Instagram, or Twitter, or Google Maps) to launch the app, instead of the website! At the moment, there are no real methods to change this in the &amp;quot;Default Applications&amp;quot; scene (except for the http/https option in the example above, which is under the &amp;quot;Web&amp;quot; setting).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MIME Type ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;html&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This allows you to register for a specific MIME Type and extension. I have not read the code to see if multiple extensions can be defined in the &amp;quot;extensions&amp;quot; property, but you can certainly define multiple instances of the same MIME with different extensions. Example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;html&amp;quot; },&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;htm&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Luna-bus Method =&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
See: (for use) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/ApplicationDescription.cpp#L179&lt;br /&gt;
&lt;br /&gt;
See: (for implementation) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/MimeSystem.cpp&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21931</id>
		<title>MimeTypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21931"/>
		<updated>2013-08-19T05:42:28Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Intro =&lt;br /&gt;
&lt;br /&gt;
There are a couple of methods for registering an app to handle a particular MIME type or extension, URL scheme, or URL redirect.&lt;br /&gt;
&lt;br /&gt;
I (dkirker), personally recommend the appinfo method, as it applies when your app installs, and is the easiest to maintain.&lt;br /&gt;
&lt;br /&gt;
Both methods can be controlled from within the &amp;quot;Default Apps&amp;quot; scene in the &amp;quot;Device Info&amp;quot; app. (Open the &amp;quot;Device Into&amp;quot; app, select the menu, choose &amp;quot;Default Applications&amp;quot;. Some patches provide this in other areas.)&lt;br /&gt;
&lt;br /&gt;
'''BIG IMPORTANT NOTE'''&lt;br /&gt;
&lt;br /&gt;
Developers '''SHOULD ALWAYS''' open URLs to documents and resources through the system manager, and not by calling an app directly. You can do this by calling:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Mojo:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.controller.serviceRequest(&amp;quot;palm://com.palm.applicationManager&amp;quot;, {&lt;br /&gt;
  method: &amp;quot;open&amp;quot;,&lt;br /&gt;
  parameters:  {&lt;br /&gt;
      target: &amp;quot;the url or resource that you want to open&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In luna-send:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
palm://com.palm.applicationManager/open '{&amp;quot;target&amp;quot;: &amp;quot;the url or resource that you want to open&amp;quot;}'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allows the system to determine the user's preferred application. If you call the applicationManager with the &amp;quot;launch&amp;quot; method, you will be stoned to death with a bag full of Veer's. Just sayin'! ;-)&lt;br /&gt;
&lt;br /&gt;
= appinfo.json Method =&lt;br /&gt;
&lt;br /&gt;
There is a &amp;quot;mimeTypes&amp;quot; keyword that you can use within your appinfo.json file to auto-register your app. When the system receives a URL or file that your app can handle, your app is launched with a launch parameter &amp;quot;target&amp;quot; set to the location of the file.&lt;br /&gt;
&lt;br /&gt;
== Scheme ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    {&amp;quot;scheme&amp;quot;: &amp;quot;maploc&amp;quot;}&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LunaSysMgr actually converts this to a URL pattern to a regular expression as follows, and registers that:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^&amp;quot; + scheme + &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
So, to register a scheme, just use a value that is the part before the &amp;quot;:&amp;quot; or &amp;quot;://&amp;quot; in a URL.&lt;br /&gt;
&lt;br /&gt;
== URL Pattern ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;urlPattern&amp;quot;: &amp;quot;^https?:&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The value of &amp;quot;urlPattern&amp;quot; is a regular expression to match against the URL that LunaSysMgr is handling. This is a GREAT way to allow apps for services that have a website (say, Instagram, or Twitter, or Google Maps) to launch the app, instead of the website! At the moment, there are no real methods to change this in the &amp;quot;Default Applications&amp;quot; scene (except for the http/https option in the example above, which is under the &amp;quot;Web&amp;quot; setting).&lt;br /&gt;
&lt;br /&gt;
== MIME Type ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;html&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allows you to register for a specific MIME Type and extension. I have not read the code to see if multiple extensions can be defined in the &amp;quot;extensions&amp;quot; property, but you can certainly define multiple instances of the same MIME with different extensions. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;html&amp;quot; },&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;htm&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Luna-bus Method =&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
See: (for use) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/ApplicationDescription.cpp#L179&lt;br /&gt;
&lt;br /&gt;
See: (for implementation) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/MimeSystem.cpp&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21929</id>
		<title>MimeTypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21929"/>
		<updated>2013-08-19T05:41:13Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Intro =&lt;br /&gt;
&lt;br /&gt;
There are a couple of methods for registering an app to handle a particular MIME type or extension, URL scheme, or URL redirect.&lt;br /&gt;
&lt;br /&gt;
I (dkirker), personally recommend the appinfo method, as it applies when your app installs, and is the easiest to maintain.&lt;br /&gt;
&lt;br /&gt;
Both methods can be controlled from within the &amp;quot;Default Apps&amp;quot; scene in the &amp;quot;Device Info&amp;quot; app. (Open the &amp;quot;Device Into&amp;quot; app, select the menu, choose &amp;quot;Default Applications&amp;quot;. Some patches provide this in other areas.)&lt;br /&gt;
&lt;br /&gt;
'''BIG IMPORTANT NOTE'''&lt;br /&gt;
&lt;br /&gt;
Developers '''SHOULD ALWAYS''' open URLs to documents and resources through the system manager, and not by calling an app directly. You can do this by calling:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.controller.serviceRequest(&amp;quot;palm://com.palm.applicationManager&amp;quot;, {&lt;br /&gt;
  method: &amp;quot;open&amp;quot;,&lt;br /&gt;
  parameters:  {&lt;br /&gt;
      target: &amp;quot;the url or resource that you want to open&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allows the system to determine the user's preferred application. If you call the applicationManager with the &amp;quot;launch&amp;quot; method, you will be stoned to death with a bag full of Veer's. Just sayin'! ;-)&lt;br /&gt;
&lt;br /&gt;
= appinfo.json Method =&lt;br /&gt;
&lt;br /&gt;
There is a &amp;quot;mimeTypes&amp;quot; keyword that you can use within your appinfo.json file to auto-register your app. When the system receives a URL or file that your app can handle, your app is launched with a launch parameter &amp;quot;target&amp;quot; set to the location of the file.&lt;br /&gt;
&lt;br /&gt;
== Scheme ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    {&amp;quot;scheme&amp;quot;: &amp;quot;maploc&amp;quot;}&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LunaSysMgr actually converts this to a URL pattern to a regular expression as follows, and registers that:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^&amp;quot; + scheme + &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
So, to register a scheme, just use a value that is the part before the &amp;quot;:&amp;quot; or &amp;quot;://&amp;quot; in a URL.&lt;br /&gt;
&lt;br /&gt;
== URL Pattern ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;urlPattern&amp;quot;: &amp;quot;^https?:&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The value of &amp;quot;urlPattern&amp;quot; is a regular expression to match against the URL that LunaSysMgr is handling. This is a GREAT way to allow apps for services that have a website (say, Instagram, or Twitter, or Google Maps) to launch the app, instead of the website! At the moment, there are no real methods to change this in the &amp;quot;Default Applications&amp;quot; scene (except for the http/https option in the example above, which is under the &amp;quot;Web&amp;quot; setting).&lt;br /&gt;
&lt;br /&gt;
== MIME Type ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;html&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allows you to register for a specific MIME Type and extension. I have not read the code to see if multiple extensions can be defined in the &amp;quot;extensions&amp;quot; property, but you can certainly define multiple instances of the same MIME with different extensions. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;html&amp;quot; },&lt;br /&gt;
    { &amp;quot;mime&amp;quot;: &amp;quot;text/html&amp;quot;, &amp;quot;extension&amp;quot;: &amp;quot;htm&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Luna-bus Method =&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
See: (for use) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/ApplicationDescription.cpp#L179&lt;br /&gt;
See: (for implementation) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/MimeSystem.cpp&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21927</id>
		<title>MimeTypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21927"/>
		<updated>2013-08-19T05:37:37Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Intro =&lt;br /&gt;
&lt;br /&gt;
There are a couple of methods for registering an app to handle a particular MIME type or extension, URL scheme, or URL redirect.&lt;br /&gt;
&lt;br /&gt;
I (dkirker), personally recommend the appinfo method, as it applies when your app installs, and is the easiest to maintain.&lt;br /&gt;
&lt;br /&gt;
Both methods can be controlled from within the &amp;quot;Default Apps&amp;quot; scene in the &amp;quot;Device Info&amp;quot; app. (Open the &amp;quot;Device Into&amp;quot; app, select the menu, choose &amp;quot;Default Applications&amp;quot;. Some patches provide this in other areas.)&lt;br /&gt;
&lt;br /&gt;
'''BIG IMPORTANT NOTE'''&lt;br /&gt;
&lt;br /&gt;
Developers '''SHOULD ALWAYS''' open URLs to documents and resources through the system manager, and not by calling an app directly. You can do this by calling:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.controller.serviceRequest(&amp;quot;palm://com.palm.applicationManager&amp;quot;, {&lt;br /&gt;
  method: &amp;quot;open&amp;quot;,&lt;br /&gt;
  parameters:  {&lt;br /&gt;
      target: &amp;quot;the url or resource that you want to open&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allows the system to determine the user's preferred application. If you call the applicationManager with the &amp;quot;launch&amp;quot; method, you will be stoned to death with a bag full of Veer's. Just sayin'! ;-)&lt;br /&gt;
&lt;br /&gt;
= appinfo.json Method =&lt;br /&gt;
&lt;br /&gt;
There is a &amp;quot;mimeTypes&amp;quot; keyword that you can use within your appinfo.json file to auto-register your app. When the system receives a URL or file that your app can handle, your app is launched with a launch parameter &amp;quot;target&amp;quot; set to the location of the file.&lt;br /&gt;
&lt;br /&gt;
== Scheme ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    {&amp;quot;scheme&amp;quot;: &amp;quot;maploc&amp;quot;}&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LunaSysMgr actually converts this to a URL pattern to a regular expression as follows, and registers that:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^&amp;quot; + scheme + &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
So, to register a scheme, just use a value that is the part before the &amp;quot;:&amp;quot; or &amp;quot;://&amp;quot; in a URL.&lt;br /&gt;
&lt;br /&gt;
== URL Pattern ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;mimeTypes&amp;quot;: [&lt;br /&gt;
    { &amp;quot;urlPattern&amp;quot;: &amp;quot;^https?:&amp;quot; }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The value of &amp;quot;urlPattern&amp;quot; is a regular expression to match against the URL that LunaSysMgr is handling. This is a GREAT way to allow apps for services that have a website (say, Instagram, or Twitter, or Google Maps) to launch the app, instead of the website! At the moment, there are no real methods to change this in the &amp;quot;Default Applications&amp;quot; scene (except for the http/https option in the example above, which is under the &amp;quot;Web&amp;quot; setting).&lt;br /&gt;
&lt;br /&gt;
== MIME Type ==&lt;br /&gt;
&lt;br /&gt;
== Extension ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Luna-bus Method =&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
See: (for use) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/ApplicationDescription.cpp#L179&lt;br /&gt;
See: (for implementation) https://github.com/woce/LunaSysMgr/blob/beta/Src/base/application/MimeSystem.cpp&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21925</id>
		<title>MimeTypes</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MimeTypes&amp;diff=21925"/>
		<updated>2013-08-19T04:55:48Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: Created page with &amp;quot;There is a way that your app can register with LunaSysMgr for opening a specific mime type, URL scheme, or URL pattern, in the app's appinfo. This happens during app install, so ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There is a way that your app can register with LunaSysMgr for opening a specific mime type, URL scheme, or URL pattern, in the app's appinfo. This happens during app install, so you do not have to explicitly call an Luna bus commands.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=21923</id>
		<title>Portal:Research</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=21923"/>
		<updated>2013-08-19T04:54:34Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{portal-header|&lt;br /&gt;
The Research Portal is for bleeding edge things being done with the device. &lt;br /&gt;
&lt;br /&gt;
Title all pages: '''Research [description]''' or '''Reference [description]'''&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
===Research:===&lt;br /&gt;
&lt;br /&gt;
* [[Android under webOS on Touchpad]]&lt;br /&gt;
* [[Applications Bundled on the Pre]]&lt;br /&gt;
* [[Application_Framework|Application Framework]]&lt;br /&gt;
* [[Application Signing|Application Signing]]&lt;br /&gt;
* [[Blocking Updates]]&lt;br /&gt;
* [[New Bluetooth|BlueZ (Replacing Palm Bluetooth)]]&lt;br /&gt;
* [[Bluetooth Network Connection]]&lt;br /&gt;
* [[Boot_Chain|Boot Chain]]&lt;br /&gt;
* [[Bootie]]&lt;br /&gt;
* [[Carrier Configuration]]&lt;br /&gt;
* [[ClassicFilesystem]]&lt;br /&gt;
* [[Decrypt SSL (trusted man-in-the-middle technique)|Decrypt SSL (trusted man-in-the-middle technique)]]&lt;br /&gt;
* [[Default packages available in several webOS release]]&lt;br /&gt;
* [[Easter Eggs|Easter Eggs]]&lt;br /&gt;
* [[FirstUse Application Functionality]]&lt;br /&gt;
* [[Fonts available on board the Pre]]&lt;br /&gt;
* [[Gstreamer]]&lt;br /&gt;
* [[Hidd]]&lt;br /&gt;
* [[Intercept_SSL_Traffic]]&lt;br /&gt;
* [[Introspecting_Dbus|Introspecting Dbus]]&lt;br /&gt;
* [[Java Support in webOS]]&lt;br /&gt;
* [[Key Codes|Key Codes]] &lt;br /&gt;
* [[Media API|Media API]]&lt;br /&gt;
* [[Mounting Files and Devices as USB Mass Storage]]&lt;br /&gt;
* [[Network Management|Network Management]]&lt;br /&gt;
* [[Advanced Wifi|Advanced Wireless LAN]]&lt;br /&gt;
* [[OmaDm|OmaDm research]]&lt;br /&gt;
* [[OpenGL|OpenGL research]]&lt;br /&gt;
* [[OpenGL_Triangle_of_Doom|OpenGL coding and demo Triangle of Doom]]&lt;br /&gt;
* [[Pre Specific Hash Codes|Pre Specific Hash Codes]]&lt;br /&gt;
* [[Research_Pre_Keyboard | Pre keyboard scancodes and keycodes]]&lt;br /&gt;
* [[Palm_Profile_Interactions]]&lt;br /&gt;
* [[Proximity Sensor]] &lt;br /&gt;
* [[Pictures from Self-Test|Pictures from Self-Test]] &lt;br /&gt;
* [[PmIpcDispatch|PmIpcDispatch to talk to palm IPC servers]]&lt;br /&gt;
* [[Restore Debug Log|Restore Debug Log]] &lt;br /&gt;
* [[Reverse_Engineering_WebOS_Doctor|Reverse Engineering WebOS Doctor]]&lt;br /&gt;
* [[Rooted Pre Issues|Rooted Pre Issues]] &lt;br /&gt;
* [[Resident_2x_Apps|Resident (Permanent) webOS 2.x applications under webOS 1.x]]&lt;br /&gt;
* [[Research_Securing_Pre|Securing your Pre]]&lt;br /&gt;
* [[Running Processes|Running Processes]] &lt;br /&gt;
* [[Symlink Applications|Symlink Applications]] &lt;br /&gt;
* [[System Sounds|System Sounds]] &lt;br /&gt;
* [[TestApps|TestApps]] &lt;br /&gt;
* [[Facebook timezone issue|The annoying Facebook timezone issue]]&lt;br /&gt;
* [[Update Service Trace|Update Service Trace]] &lt;br /&gt;
* [[USB Host Mode|USB Host Mode]]&lt;br /&gt;
* [[Tidbits|Tidbits]] &lt;br /&gt;
* [[VideoRecording]]&lt;br /&gt;
* [[WebOS Exploration - Various Information|WebOS Exploration - Various Information]]&lt;br /&gt;
* [[WebOS network configuration files]] &lt;br /&gt;
* [[Research_Pre_GSM_Modem | Pre GSM modem device informations]]&lt;br /&gt;
* [[Research_Pre_GSM_Modem_Protocol | Pre GSM modem protocol informations]]&lt;br /&gt;
* [[Research_Pre_Audio | Audio routing and setup on the Pre]]&lt;br /&gt;
* [[Research_mpt | MSM modem passthru mode ]]&lt;br /&gt;
* [[Research_Pre_Boot_Process | Boot process]]&lt;br /&gt;
* [[LibSDL Research| SDL LibSDL research which lead to Quake and Doom running]]&lt;br /&gt;
* [[LibPDL Research| PDL LibPDL research ties into palm's device hooks]]&lt;br /&gt;
* [[Unofficial networks compatiblity list]]&lt;br /&gt;
* [[Research_kernel_Tuning | Research [kernel tuning]]]&lt;br /&gt;
* [[Touchscreen]]&lt;br /&gt;
* [[Chrooting | Methods of chrooting in webOS]]&lt;br /&gt;
* [[Touchpad Bluetooth Keyboard]]&lt;br /&gt;
* [[VPN Plugins]]&lt;br /&gt;
* [[XApps Development | XApps development model]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
===Reference===&lt;br /&gt;
* [[Packaging Standards|Packaging Standards]]&lt;br /&gt;
* [[webkit_transform|Webkit Transform]]- a powerful set of commands for manipulating elements.&lt;br /&gt;
* [[WebKit UserAgent Override|WebKit UserAgent Override]]&lt;br /&gt;
* [[MojoDB Partition Resize|MojoDB Partition Resize]]&lt;br /&gt;
* [[MimeTypes|MIME Type, URL Scheme, and URL pattern registration (the easy way)]]&lt;br /&gt;
* [https://docs.google.com/viewer?a=v&amp;amp;q=cache:9lb_WwQBOXsJ:www.dunkelheit.com.br/supsi/Mobile/palestras/MFW10_JHU_PalmPrePhoneForensics.pdf+MFW10_JHU_PalmPrePhoneForensics.pdf&amp;amp;hl=fr&amp;amp;gl=fr&amp;amp;pid=bl&amp;amp;srcid=ADGEESgeMuyiewG_p88nJimTbMOKNerA-E1WtKgXfaajRXZ6PGmNd0YlWS3AyDpSqruZ9z71eUZdFQKgvUCKKTQC-hO8RXKbx7xU3iAfb1qv4e9Q2WuN1imFP0JDKKeCwAFjKbb1_L-i&amp;amp;sig=AHIEtbT_nc8wO7FY4HMi2wiN2nTpCZQfMQ  webOS Forensics Using the Palm Pre Plus] : a lot of useful informations on webOS ([http://www.mobileforensicsworld.org/2010/presentations/MFW10_JHU_PalmPrePhoneForensics.pdf OLD LINK]).&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=21921</id>
		<title>VPN Plugins</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=21921"/>
		<updated>2013-08-07T10:54:05Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: Add `ls-monitor -f vpn` output. This is actually useful, as the libraries seem to generate the response to a call for the field values.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As of 3.0.2, VPN plugins are stored in:&lt;br /&gt;
&lt;br /&gt;
* /usr/lib/vpn/agents (VPNC and Cisco AnyConnect that ship with the device)&lt;br /&gt;
* /media/cryptofs/apps/usr/palm/vpnframework/agents (extra such as the PPTP plugin in the App Catalog)&lt;br /&gt;
&lt;br /&gt;
They have the following structure (VPNC used as an example):&lt;br /&gt;
&lt;br /&gt;
* /usr/lib/vpn/agents/vpnc/ (root directory)&lt;br /&gt;
** [[#vpn-plugin-info.json|vpn-plugin-info.json]]&lt;br /&gt;
** [[#library|library]] (e.g. libVpncAgent.so)&lt;br /&gt;
** other ancillary files (callback scripts, etc)&lt;br /&gt;
** plugins/ (does NOT seem to be necessary - VPNC plugin does not have this directory)&lt;br /&gt;
*** plugin files (apparently only as necessary by the plugin library)&lt;br /&gt;
&lt;br /&gt;
== vpn-plugin-info.json ==&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;title&amp;quot;: &amp;quot;VPNC&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;com.palm.vpnc&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.5.1&amp;quot;,&lt;br /&gt;
  &amp;quot;vendor&amp;quot;: &amp;quot;Palm, Inc.&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&amp;quot;IPSec&amp;quot;],&lt;br /&gt;
  &amp;quot;plugin&amp;quot;: &amp;quot;libVpncAgent.so&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Library ==&lt;br /&gt;
&lt;br /&gt;
From objdump, it looks like the only symbols in common between every plugin are:&lt;br /&gt;
&lt;br /&gt;
 initVpnAgent&lt;br /&gt;
 cleanupVpnAgent&lt;br /&gt;
 bannerSent&lt;br /&gt;
 gLocalizedStrList&lt;br /&gt;
&lt;br /&gt;
In addition to the expected symbols from GCC. And that's it. Signatures for these functions do not seem to be documented anywhere, and I suspect gLocalizedStrList is just an array which may not be required by [[PmVpnDaemon]]. No idea about bannerSent.&lt;br /&gt;
&lt;br /&gt;
There are also calls to apparently-undocumented functions such as PmLogGetContext and PmLogPrint_. The VPNC and PPTP plugins link to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/vpnc# ldd libVpncAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2aac1000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2aaca000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2aadb000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2aafb000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2abdb000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2abe9000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2abfc000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2ad3c000)&lt;br /&gt;
&lt;br /&gt;
and the AnyConnect plugin links to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/ciscoanyconnect# ldd libVpnAcAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2abf8000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2ac01000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2ac12000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2ac32000)&lt;br /&gt;
        libxml2.so.2 =&amp;gt; /usr/lib/libxml2.so.2 (0x2ad12000)&lt;br /&gt;
        libcurl.so.4 =&amp;gt; /usr/lib/libcurl.so.4 (0x2ae32000)&lt;br /&gt;
        libz.so.1 =&amp;gt; /usr/lib/libz.so.1 (0x2ae83000)&lt;br /&gt;
        libssl.so.0.9.8 =&amp;gt; /usr/lib/libssl.so.0.9.8 (0x2ae9f000)&lt;br /&gt;
        libcrypto.so.0.9.8 =&amp;gt; /usr/lib/libcrypto.so.0.9.8 (0x2aee5000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2b028000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2b036000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2b049000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2b189000)&lt;br /&gt;
        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0x2b199000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0x2b1a6000)&lt;br /&gt;
        libWebOsProxy.so =&amp;gt; /usr/lib/libWebOsProxy.so (0x2b21f000)&lt;br /&gt;
        libcares.so.2 =&amp;gt; /usr/lib/libcares.so.2 (0x2b22b000)&lt;br /&gt;
        libpbnjson_cpp.so =&amp;gt; /usr/lib/libpbnjson_cpp.so (0x2b240000)&lt;br /&gt;
        libglibmm-2.4.so.1 =&amp;gt; /usr/lib/libglibmm-2.4.so.1 (0x2b25a000)&lt;br /&gt;
        libpbnjson_c.so =&amp;gt; /usr/lib/libpbnjson_c.so (0x2b2a5000)&lt;br /&gt;
        libyajl.so.1 =&amp;gt; /usr/lib/libyajl.so.1 (0x2b2bf000)&lt;br /&gt;
        libstdc++.so.6 =&amp;gt; /usr/lib/libstdc++.so.6 (0x2b2cd000)&lt;br /&gt;
        libsigc-2.0.so.0 =&amp;gt; /usr/lib/libsigc-2.0.so.0 (0x2b3a6000)&lt;br /&gt;
        libgobject-2.0.so.0 =&amp;gt; /usr/lib/libgobject-2.0.so.0 (0x2b3b2000)&lt;br /&gt;
        libgmodule-2.0.so.0 =&amp;gt; /usr/lib/libgmodule-2.0.so.0 (0x2b3f6000)&lt;br /&gt;
&lt;br /&gt;
So I'm not sure where those functions reside.&lt;br /&gt;
&lt;br /&gt;
== ls-monitor dump ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Time		Prot	Type	Serial		Sender		Destination		Method                            	Payload&lt;br /&gt;
4177.473	[PRV]	call	405		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)	com.palm.vpn (/var/run/ls2/aCzZVa)		com.palm.app.vpn 1117		//getAgents	«{&amp;quot;$activity&amp;quot;: {&amp;quot;activityId&amp;quot;: 404}}»&lt;br /&gt;
4177.493	[PRV]	return	405		com.palm.vpn (/var/run/ls2/aCzZVa)		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)	«{ &amp;quot;vpnAgents&amp;quot;: [ { &amp;quot;vpnAgentGuid&amp;quot;: &amp;quot;com.palm.vpnc&amp;quot;, &amp;quot;vpnAgentLabel&amp;quot;: &amp;quot;VPNC&amp;quot;, &amp;quot;vpnAgentTechnology&amp;quot;: [ &amp;quot;IPSec&amp;quot; ] }, { &amp;quot;vpnAgentGuid&amp;quot;: &amp;quot;com.palm.anyconnectagent&amp;quot;, &amp;quot;vpnAgentLabel&amp;quot;: &amp;quot;Cisco AnyConnect&amp;quot;, &amp;quot;vpnAgentIcon&amp;quot;: &amp;quot;\/usr\/lib\/vpn\/agents\/ciscoanyconnect\/icons\/cisco-small.png&amp;quot;, &amp;quot;vpnAgentTechnology&amp;quot;: [ &amp;quot;ssl&amp;quot; ] } ], &amp;quot;returnValue&amp;quot;: true }»&lt;br /&gt;
4191.613	[PRV]	call	406		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)	com.palm.vpn (/var/run/ls2/aCzZVa)		com.palm.app.vpn 1117		//getConnectionDetails	«{&amp;quot;$activity&amp;quot;: {&amp;quot;activityId&amp;quot;: 404}}»&lt;br /&gt;
4191.613	[PRV]	return	406		com.palm.vpn (/var/run/ls2/aCzZVa)		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)	«{ &amp;quot;state&amp;quot;: &amp;quot;disconnected&amp;quot;, &amp;quot;returnValue&amp;quot;: true }»&lt;br /&gt;
4191.613	[PRV]	call	407		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)	com.palm.vpn (/var/run/ls2/aCzZVa)		com.palm.app.vpn 1117		//connect	«{&amp;quot;vpnHost&amp;quot;: &amp;quot;test&amp;quot;, &amp;quot;vpnAgentGuid&amp;quot;: &amp;quot;com.palm.vpnc&amp;quot;, &amp;quot;$activity&amp;quot;: {&amp;quot;activityId&amp;quot;: 404}}»&lt;br /&gt;
4191.613	[PRV]	call	408		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)		com.palm.vpn (/var/run/ls2/aCzZVa)		/com/palm/luna/private/cancel	«{&amp;quot;token&amp;quot;:406}»&lt;br /&gt;
4192.008	[PRV]	call	56		com.palm.vpn (/var/run/ls2/aCzZVa)	com.palm.applicationManager (/var/run/ls2/UjRKPX)		(null)		//open	«{ &amp;quot;id&amp;quot;: &amp;quot;com.palm.app.vpn&amp;quot;, &amp;quot;params&amp;quot;: { &amp;quot;vpnAgentGuid&amp;quot;: &amp;quot;com.palm.vpnc&amp;quot;, &amp;quot;vpnMsgType&amp;quot;: &amp;quot;credentials&amp;quot;, &amp;quot;vpnHost&amp;quot;: &amp;quot;test&amp;quot;, &amp;quot;vpnFormFields&amp;quot;: [ { &amp;quot;id&amp;quot;: &amp;quot;vpnUserId&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Username&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;textfield&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot; }, { &amp;quot;id&amp;quot;: &amp;quot;vpnPassword&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Password&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;passwordfield&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot; }, { &amp;quot;id&amp;quot;: &amp;quot;vpnGroupId&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Group ID&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;textfield&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot; }, { &amp;quot;id&amp;quot;: &amp;quot;vpnGroupSecret&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Group Secret&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;passwordfield&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot; }, { &amp;quot;id&amp;quot;: &amp;quot;vpnDomain&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Domain&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;textfield&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot; }, { &amp;quot;id&amp;quot;: &amp;quot;vpnDeadPeerDetection&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Dead Peer Detection&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;checkbox&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;true&amp;quot;, &amp;quot;trueValue&amp;quot;: &amp;quot;true&amp;quot;, &amp;quot;falseValue&amp;quot;: &amp;quot;false&amp;quot; }, { &amp;quot;id&amp;quot;: &amp;quot;vpnEncryptionMethod&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Encryption Method&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;listselector&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;Secure&amp;quot;, &amp;quot;options&amp;quot;: [ { &amp;quot;label&amp;quot;: &amp;quot;Secure&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;Secure&amp;quot; }, { &amp;quot;label&amp;quot;: &amp;quot;Weak&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;Weak&amp;quot; }, { &amp;quot;label&amp;quot;: &amp;quot;None&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;None&amp;quot; } ] }, { &amp;quot;id&amp;quot;: &amp;quot;vpnNatTraversal&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;NAT Traversal&amp;quot;, &amp;quot;visible&amp;quot;: true, &amp;quot;type&amp;quot;: &amp;quot;listselector&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;NAT-T (auto-detect)&amp;quot;, &amp;quot;options&amp;quot;: [ { &amp;quot;label&amp;quot;: &amp;quot;Cisco-UDP&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;Cisco-UDP&amp;quot; }, { &amp;quot;label&amp;quot;: &amp;quot;NAT-T (always)&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;NAT-T (always)&amp;quot; }, { &amp;quot;label&amp;quot;: &amp;quot;NAT-T (auto-detect)&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;NAT-T (auto-detect)&amp;quot; }, { &amp;quot;label&amp;quot;: &amp;quot;Disabled&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;Disabled&amp;quot; } ] } ] } }»&lt;br /&gt;
4192.057	[PRV]	return	56		com.palm.applicationManager (/var/run/ls2/UjRKPX)		com.palm.vpn (/var/run/ls2/aCzZVa)	«{ &amp;quot;processId&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;returnValue&amp;quot;: true }»&lt;br /&gt;
4192.093	[PRV]	call	409		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)		com.palm.vpn (/var/run/ls2/aCzZVa)		/com/palm/luna/private/cancel	«{&amp;quot;token&amp;quot;:407}»&lt;br /&gt;
4192.095	[PRV]	return	407		com.palm.vpn (/var/run/ls2/aCzZVa)		com.palm.luna-1785-active (/var/run/ls2/SjYfQK)	«{ &amp;quot;returnValue&amp;quot;: false, &amp;quot;errorCode&amp;quot;: -7, &amp;quot;errorText&amp;quot;: &amp;quot;Need User Authentication Value&amp;quot; }»&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MojoDB_Partition_Resize&amp;diff=21861</id>
		<title>MojoDB Partition Resize</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MojoDB_Partition_Resize&amp;diff=21861"/>
		<updated>2012-10-03T19:08:26Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you use your webOS device frequently, you have probably encountered the &amp;quot;Application database full&amp;quot; error, and were confused by it. It is a very confusing error, and the remedies are equally confusing. The error suggests deleting data, but it isn't clear what data. I learned that it meant app data (such as emails, contacts, calendar events), and not media. Though, the amount of files that you have on your USB partition can play a factor, too. Unfortunately, the tricks to get this error to go away are very few and short-lived. As a result, you will be greeted with the next evil error. That error will force you to reset your device. In this process, you are required to sign back into your Palm profile and watch in horror as all of your apps re-download, all of your Preware apps gone, as if you got the device new.... Nasty.&lt;br /&gt;
&lt;br /&gt;
Well, there is a solution (and no, I won't be trying to sell you some anti-aging cream, or miracle spray, so rest assured, I have tried this on my own Pre3).&lt;br /&gt;
&lt;br /&gt;
== The Dirty Bits ==&lt;br /&gt;
&lt;br /&gt;
webOS 2.0 came along and offered a new application data storage feature. It allowed you to store data in a database called db8. It is pretty magical, and allows apps to share data through permissions. But, this feature had one fatal flaw. It was placed on its own isolated partition. This is a great way to protect the data, to some extent, but it limits how much data you can have on your device. The partition is only 135MB in size... You can use that quickly if you have a ton of files on your USB partition (the media indexer uses this database to store the index of the files on the USB partition), a few email accounts syncing regularly and storing a large backlog, and Koto Player indexing your media... This partition is /var/db... We will resize it.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
There are three partitions of interest in the webOS world that can hold some valuable data. There is /var/db (the application data store), /var/file-cache (this stores a cache of contact pictures, email attachements, and a few other things, but is generally less important), and /var itself. The one we will focus on now (that causes the most trouble) is /var/db. Later I may add notes to changing the sizes of the others.&lt;br /&gt;
&lt;br /&gt;
==== FAIR WARNING ====&lt;br /&gt;
&lt;br /&gt;
I have seen people on the webOSNation forums recommend deleting large text files from the /var/db partition that do not have a &amp;quot;.db&amp;quot; extension. DO NOT (let me repeat that '''DO NOT''') delete these files. They are database journal files. A journal is a small record of entries written to a database or filesystem that a data management system can look to in the event that it is abruptly and uncleanly shutdown. It allows the device to &amp;quot;replay&amp;quot; transactions (so to speak) if you, say, were to pull the battery because the device seemed frozen. Deleting these files can put the journal and database out of sync, and the results of that are pretty messy and require a few hours of patient database cleanup....&lt;br /&gt;
&lt;br /&gt;
== Pre-Operation Warnings ==&lt;br /&gt;
&lt;br /&gt;
As should always be noted, there is always a chance that something could go HORRIBLY wrong. As a result, I provide absolutely NO warranty of any kind. You are on your own. As always, backup your data (using whatever process makes you feel the most secure, whether it is just copying off a few beloved photos, or doing a full mem dump).&lt;br /&gt;
&lt;br /&gt;
I have only tested this on webOS 2.2.4 on a Pre3. It should work on any webOS 2.0+ device (likely including a TouchPad). If you do this on some other type of device, please report back!&lt;br /&gt;
&lt;br /&gt;
== Let's Go! ==&lt;br /&gt;
&lt;br /&gt;
Basically, what you will do is shave some space off of your /media/internal partition, and hand that over to the application database. I went safe and did about 500MB for mine. &amp;quot;Memory is cheap&amp;quot;, so why not? I'll give you the commands below.&lt;br /&gt;
&lt;br /&gt;
You can check your current usage with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I recommend getting your current usage (-h means &amp;quot;human&amp;quot;), then subtract about 512MB from it and use that number below when shrinking the media partition (My media partition was about 12.8G, so I just made it 12.2G, which gives me about 600MB available, and I enlarged my mojodb partition by 512MB, so I'll have a few MB leftover, which is fine since you may have to grow /var later on). Make sure that you have enough room to shrink your media partition! I recommend backing it up, and deleting anything to clear space if you need to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
## Shrink the media partition&lt;br /&gt;
&lt;br /&gt;
# Need to stop the cryptofs process, or rather &amp;quot;pause&amp;quot; it&lt;br /&gt;
pkill -SIGUSR1 cryptofs&lt;br /&gt;
&lt;br /&gt;
# Unmount the /media/internal partition&lt;br /&gt;
umount /media/internal&lt;br /&gt;
&lt;br /&gt;
# Shrink the partition (Replace 12.2G with the amount of space you want to reduce to. I think that the partition is 12.8 by default?)&lt;br /&gt;
resizefat -v /dev/mapper/store-media 12.2G&lt;br /&gt;
&lt;br /&gt;
# Reduce the logical volume (make the &amp;quot;physical&amp;quot; disk smaller) 12.2G is the **SAME** number as above.&lt;br /&gt;
lvreduce -L 12.2G /dev/mapper/store-media&lt;br /&gt;
&lt;br /&gt;
# Remount&lt;br /&gt;
mount /media/internal&lt;br /&gt;
&lt;br /&gt;
# Restart the cryptofs service&lt;br /&gt;
pkill -SIGUSR2 cryptofs&lt;br /&gt;
&lt;br /&gt;
## Increase the Application Database&lt;br /&gt;
&lt;br /&gt;
# Stop the MojoDB service&lt;br /&gt;
/sbin/stop mojodb&lt;br /&gt;
&lt;br /&gt;
# Unmount the filesystem&lt;br /&gt;
umount /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Extend the file system up&lt;br /&gt;
lvextend -L 512M /dev/mapper/store-mojodb&lt;br /&gt;
&lt;br /&gt;
# Extend the encrypted size up&lt;br /&gt;
cryptsetup resize /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Resize the underlying filesystem&lt;br /&gt;
resize2fs -f -p /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Remount&lt;br /&gt;
mount /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Restart the service&lt;br /&gt;
/sbin/start mojodb&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It might be worth rebooting here, too. df -h should show that you have a roughly 512MB /var/db. The application database error should be in your past. :) The only time you may experience a serious error about the application database is if it happens to become corrupt...&lt;br /&gt;
&lt;br /&gt;
== Future Looking ==&lt;br /&gt;
&lt;br /&gt;
My goal is to add this feature to Tailor. What I really am considering is setting up the partition like /media/cryptofs. If you notice, it shares the same size attributes as /media/internal. That is because they are the same partition! /media/cryptofs is actually a special cryptofs partition ontop of /media/internal. I would think that one could do this to /var/db, too. This would give one the most flexibility over application installation, data storage, and media space.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=MojoDB_Partition_Resize&amp;diff=21859</id>
		<title>MojoDB Partition Resize</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=MojoDB_Partition_Resize&amp;diff=21859"/>
		<updated>2012-10-03T08:40:46Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: Created page with &amp;quot;== Introduction ==  If you use your webOS device frequently, you have probably encountered the &amp;quot;Application database full&amp;quot; error, and were confused by it. It is a very confusing ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you use your webOS device frequently, you have probably encountered the &amp;quot;Application database full&amp;quot; error, and were confused by it. It is a very confusing error, and the remedies are equally confusing. The error suggests deleting data, but it isn't clear what data. I learned that it meant app data (such as emails, contacts, calendar events), and not media. Though, the amount of files that you have on your USB partition can play a factor, too. Unfortunately, the tricks to get this error to go away are very few and short-lived. As a result, you will be greeted with the next evil error. That error will force you to reset your device. In this process, you are required to sign back into your Palm profile and watch in horror as all of your apps re-download, all of your Preware apps gone, as if you got the device new.... Nasty.&lt;br /&gt;
&lt;br /&gt;
Well, there is a solution (and no, I won't be trying to sell you some anti-aging cream, or miracle spray, so rest assured, I have tried this on my own Pre3).&lt;br /&gt;
&lt;br /&gt;
== The Dirty Bits ==&lt;br /&gt;
&lt;br /&gt;
webOS 2.0 came along and offered a new application data storage feature. It allowed you to store data in a database called db8. It is pretty magical, and allows apps to share data through permissions. But, this feature had one fatal flaw. It was placed on its own isolated partition. This is a great way to protect the data, to some extent, but it limits how much data you can have on your device. The partition is only 135MB in size... You can use that quickly if you have a ton of files on your USB partition (the media indexer uses this database to store the index of the files on the USB partition), a few email accounts syncing regularly and storing a large backlog, and Koto Player indexing your media... This partition is /var/db... We will resize it.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
There are three partitions of interest in the webOS world that can hold some valuable data. There is /var/db (the application data store), /var/file-cache (this stores a cache of contact pictures, email attachements, and a few other things, but is generally less important), and /var itself. The one we will focus on now (that causes the most trouble) is /var/db. Later I may add notes to changing the sizes of the others.&lt;br /&gt;
&lt;br /&gt;
== Pre-Operation Warnings ==&lt;br /&gt;
&lt;br /&gt;
As should always be noted, there is always a chance that something could go HORRIBLY wrong. As a result, I provide absolutely NO warranty of any kind. You are on your own. As always, backup your data (using whatever process makes you feel the most secure, whether it is just copying off a few beloved photos, or doing a full mem dump).&lt;br /&gt;
&lt;br /&gt;
I have only tested this on webOS 2.2.4 on a Pre3. It should work on any webOS 2.0+ device (likely including a TouchPad). If you do this on some other type of device, please report back!&lt;br /&gt;
&lt;br /&gt;
== Let's Go! ==&lt;br /&gt;
&lt;br /&gt;
Basically, what you will do is shave some space off of your /media/internal partition, and hand that over to the application database. I went safe and did about 500MB for mine. &amp;quot;Memory is cheap&amp;quot;, so why not? I'll give you the commands below.&lt;br /&gt;
&lt;br /&gt;
You can check your current usage with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I recommend getting your current usage (-h means &amp;quot;human&amp;quot;), then subtract about 512MB from it and use that number below when shrinking the media partition (My media partition was about 12.8G, so I just made it 12.2G, which gives me about 600MB available, and I enlarged my mojodb partition by 512MB, so I'll have a few MB leftover, which is fine since you may have to grow /var later on). Make sure that you have enough room to shrink your media partition! I recommend backing it up, and deleting anything to clear space if you need to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
## Shrink the media partition&lt;br /&gt;
&lt;br /&gt;
# Need to stop the cryptofs process, or rather &amp;quot;pause&amp;quot; it&lt;br /&gt;
pkill -SIGUSR1 cryptofs&lt;br /&gt;
&lt;br /&gt;
# Unmount the /media/internal partition&lt;br /&gt;
umount /media/internal&lt;br /&gt;
&lt;br /&gt;
# Shrink the partition (Replace 12.2G with the amount of space you want to reduce to. I think that the partition is 12.8 by default?)&lt;br /&gt;
resizefat -v /dev/mapper/store-media 12.2G&lt;br /&gt;
&lt;br /&gt;
# Reduce the logical volume (make the &amp;quot;physical&amp;quot; disk smaller) 12.2G is the **SAME** number as above.&lt;br /&gt;
lvreduce -L 12.2G /dev/mapper/store-media&lt;br /&gt;
&lt;br /&gt;
# Remount&lt;br /&gt;
mount /media/internal&lt;br /&gt;
&lt;br /&gt;
# Restart the cryptofs service&lt;br /&gt;
pkill -SIGUSR2 cryptofs&lt;br /&gt;
&lt;br /&gt;
## Increase the Application Database&lt;br /&gt;
&lt;br /&gt;
# Stop the MojoDB service&lt;br /&gt;
/sbin/stop mojodb&lt;br /&gt;
&lt;br /&gt;
# Unmount the filesystem&lt;br /&gt;
umount /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Extend the file system up&lt;br /&gt;
lvextend -L 512M /dev/mapper/store-mojodb&lt;br /&gt;
&lt;br /&gt;
# Extend the encrypted size up&lt;br /&gt;
cryptsetup resize /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Resize the underlying filesystem&lt;br /&gt;
resize2fs -f -p /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Remount&lt;br /&gt;
mount /dev/mapper/store-cryptodb&lt;br /&gt;
&lt;br /&gt;
# Restart the service&lt;br /&gt;
/sbin/start mojodb&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It might be worth rebooting here, too. df -h should show that you have a roughly 512MB /var/db. The application database error should be in your past. :) The only time you may experience a serious error about the application database is if it happens to become corrupt...&lt;br /&gt;
&lt;br /&gt;
== Future Looking ==&lt;br /&gt;
&lt;br /&gt;
My goal is to add this feature to Tailor. What I really am considering is setting up the partition like /media/cryptofs. If you notice, it shares the same size attributes as /media/internal. That is because they are the same partition! /media/cryptofs is actually a special cryptofs partition ontop of /media/internal. I would think that one could do this to /var/db, too. This would give one the most flexibility over application installation, data storage, and media space.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=21857</id>
		<title>Portal:Research</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=21857"/>
		<updated>2012-10-03T08:15:45Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{portal-header|&lt;br /&gt;
The Research Portal is for bleeding edge things being done with the device. &lt;br /&gt;
&lt;br /&gt;
Title all pages: '''Research [description]''' or '''Reference [description]'''&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
===Research:===&lt;br /&gt;
&lt;br /&gt;
* [[Android under webOS on Touchpad]]&lt;br /&gt;
* [[Applications Bundled on the Pre]]&lt;br /&gt;
* [[Application_Framework|Application Framework]]&lt;br /&gt;
* [[Application Signing|Application Signing]]&lt;br /&gt;
* [[Blocking Updates]]&lt;br /&gt;
* [[New Bluetooth|BlueZ (Replacing Palm Bluetooth)]]&lt;br /&gt;
* [[Bluetooth Network Connection]]&lt;br /&gt;
* [[Boot_Chain|Boot Chain]]&lt;br /&gt;
* [[Bootie]]&lt;br /&gt;
* [[Carrier Configuration]]&lt;br /&gt;
* [[ClassicFilesystem]]&lt;br /&gt;
* [[Decrypt SSL (trusted man-in-the-middle technique)|Decrypt SSL (trusted man-in-the-middle technique)]]&lt;br /&gt;
* [[Default packages available in several webOS release]]&lt;br /&gt;
* [[Easter Eggs|Easter Eggs]]&lt;br /&gt;
* [[FirstUse Application Functionality]]&lt;br /&gt;
* [[Fonts available on board the Pre]]&lt;br /&gt;
* [[Gstreamer]]&lt;br /&gt;
* [[Hidd]]&lt;br /&gt;
* [[Intercept_SSL_Traffic]]&lt;br /&gt;
* [[Introspecting_Dbus|Introspecting Dbus]]&lt;br /&gt;
* [[Java Support in webOS]]&lt;br /&gt;
* [[Key Codes|Key Codes]] &lt;br /&gt;
* [[Media API|Media API]]&lt;br /&gt;
* [[Mounting Files and Devices as USB Mass Storage]]&lt;br /&gt;
* [[Network Management|Network Management]]&lt;br /&gt;
* [[Advanced Wifi|Advanced Wireless LAN]]&lt;br /&gt;
* [[OmaDm|OmaDm research]]&lt;br /&gt;
* [[OpenGL|OpenGL research]]&lt;br /&gt;
* [[OpenGL_Triangle_of_Doom|OpenGL coding and demo Triangle of Doom]]&lt;br /&gt;
* [[Pre Specific Hash Codes|Pre Specific Hash Codes]]&lt;br /&gt;
* [[Research_Pre_Keyboard | Pre keyboard scancodes and keycodes]]&lt;br /&gt;
* [[Palm_Profile_Interactions]]&lt;br /&gt;
* [[Proximity Sensor]] &lt;br /&gt;
* [[Pictures from Self-Test|Pictures from Self-Test]] &lt;br /&gt;
* [[PmIpcDispatch|PmIpcDispatch to talk to palm IPC servers]]&lt;br /&gt;
* [[Restore Debug Log|Restore Debug Log]] &lt;br /&gt;
* [[Reverse_Engineering_WebOS_Doctor|Reverse Engineering WebOS Doctor]]&lt;br /&gt;
* [[Rooted Pre Issues|Rooted Pre Issues]] &lt;br /&gt;
* [[Resident_2x_Apps|Resident (Permanent) webOS 2.x applications under webOS 1.x]]&lt;br /&gt;
* [[Research_Securing_Pre|Securing your Pre]]&lt;br /&gt;
* [[Running Processes|Running Processes]] &lt;br /&gt;
* [[Symlink Applications|Symlink Applications]] &lt;br /&gt;
* [[System Sounds|System Sounds]] &lt;br /&gt;
* [[TestApps|TestApps]] &lt;br /&gt;
* [[Facebook timezone issue|The annoying Facebook timezone issue]]&lt;br /&gt;
* [[Update Service Trace|Update Service Trace]] &lt;br /&gt;
* [[USB Host Mode|USB Host Mode]]&lt;br /&gt;
* [[Tidbits|Tidbits]] &lt;br /&gt;
* [[VideoRecording]]&lt;br /&gt;
* [[WebOS Exploration - Various Information|WebOS Exploration - Various Information]]&lt;br /&gt;
* [[WebOS network configuration files]] &lt;br /&gt;
* [[Research_Pre_GSM_Modem | Pre GSM modem device informations]]&lt;br /&gt;
* [[Research_Pre_GSM_Modem_Protocol | Pre GSM modem protocol informations]]&lt;br /&gt;
* [[Research_Pre_Audio | Audio routing and setup on the Pre]]&lt;br /&gt;
* [[Research_mpt | MSM modem passthru mode ]]&lt;br /&gt;
* [[Research_Pre_Boot_Process | Boot process]]&lt;br /&gt;
* [[LibSDL Research| SDL LibSDL research which lead to Quake and Doom running]]&lt;br /&gt;
* [[LibPDL Research| PDL LibPDL research ties into palm's device hooks]]&lt;br /&gt;
* [[Unofficial networks compatiblity list]]&lt;br /&gt;
* [[Research_kernel_Tuning | Research [kernel tuning]]]&lt;br /&gt;
* [[Touchscreen]]&lt;br /&gt;
* [[Chrooting | Methods of chrooting in webOS]]&lt;br /&gt;
* [[Touchpad Bluetooth Keyboard]]&lt;br /&gt;
* [[VPN Plugins]]&lt;br /&gt;
* [[XApps Development | XApps development model]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
===Reference===&lt;br /&gt;
* [[Packaging Standards|Packaging Standards]]&lt;br /&gt;
* [[webkit_transform|Webkit Transform]]- a powerful set of commands for manipulating elements.&lt;br /&gt;
* [[WebKit UserAgent Override|WebKit UserAgent Override]]&lt;br /&gt;
* [[MojoDB Partition Resize|MojoDB Partition Resize]]&lt;br /&gt;
* [https://docs.google.com/viewer?a=v&amp;amp;q=cache:9lb_WwQBOXsJ:www.dunkelheit.com.br/supsi/Mobile/palestras/MFW10_JHU_PalmPrePhoneForensics.pdf+MFW10_JHU_PalmPrePhoneForensics.pdf&amp;amp;hl=fr&amp;amp;gl=fr&amp;amp;pid=bl&amp;amp;srcid=ADGEESgeMuyiewG_p88nJimTbMOKNerA-E1WtKgXfaajRXZ6PGmNd0YlWS3AyDpSqruZ9z71eUZdFQKgvUCKKTQC-hO8RXKbx7xU3iAfb1qv4e9Q2WuN1imFP0JDKKeCwAFjKbb1_L-i&amp;amp;sig=AHIEtbT_nc8wO7FY4HMi2wiN2nTpCZQfMQ  webOS Forensics Using the Palm Pre Plus] : a lot of useful informations on webOS ([http://www.mobileforensicsworld.org/2010/presentations/MFW10_JHU_PalmPrePhoneForensics.pdf OLD LINK]).&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21849</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21849"/>
		<updated>2012-08-26T06:28:36Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= webOS 3.0.0 and greater =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser-app.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser-app.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= webOS 2.2.4 and earlier =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
Earlier versions of webOS do not have a wholesale override feature. It only uses a &amp;quot;token&amp;quot; feature, as described below.&lt;br /&gt;
&lt;br /&gt;
The WebKit implementation reads the contents of each file in the tokens directory, strips the spaces from it, and then appends this to the user-agent string after a semi-colon. I will describe below how to add these tokens. Some websites may only read &amp;quot;iphone&amp;quot; or &amp;quot;iOS&amp;quot; from the user-agent and think that you have an iPhone.&lt;br /&gt;
&lt;br /&gt;
== How to add tokens to the User-Agent ==&lt;br /&gt;
# Create a directory somewhere. Either in /etc/palm/ or somewhere in /media/internal/. I created /etc/palm/uatokens/ so that I can create different subdirectories for different types of user agents.&lt;br /&gt;
# Then create a subdirectory for the user-agent you want to try to mimic. For this example, create iphone. You should have /etc/palm/uatokens/iphone/.&lt;br /&gt;
# Then, create the following files, with the following content:&lt;br /&gt;
#* /etc/palm/uatokens/iphone/cpu:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CPU iPhone OS 5_0 like Mac OS X&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/iphone:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;iPhone&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/mobile:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mobile/9A334&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/safari:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Safari/7534.48.3&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/version:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Version/5.1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/webkit:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;AppleWebKit/534.46&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Then, edit /etc/palm/browser-app.conf as below (the trailing '/' on the path is MANDATORY):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentTokensPath=/etc/palm/uatokens/iphone/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your User-Agent will now look like this (Pre3, with tokens to make it look like an iPhone running iOS 5.1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mozilla/5.0 (Linux; webOS/2.2.4; U; en-US) AppleWebKit/534.6 (KHTML like Gecko) webOSBrowser/221.56 Safari/534.6 Pre/3.0; iPhone; Safari/7534.48.3; AppleWebKit/534.46; Version/5.1; Mobile/9A334; CPUiPhoneOS5_0likeMacOSX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= Platform Independent Notes =&lt;br /&gt;
LunaSysMgr loads an instance of WebKit, and then reads WebKit settings from /etc/palm/browser.conf. BrowserServer loads another instance of WebKit, and then reads WebKit settings from /etc/palm/browser-app.conf. This is why you can change the User-Agent in one, and not affect the other.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21847</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21847"/>
		<updated>2012-08-26T04:47:28Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= webOS 3.0.0 and greater =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser-app.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser-app.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= webOS 2.2.4 and earlier =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
Earlier versions of webOS do not have a wholesale override feature. It only uses a &amp;quot;token&amp;quot; feature, as described below.&lt;br /&gt;
&lt;br /&gt;
The WebKit implementation reads the contents of each file in the tokens directory, strips the spaces from it, and then appends this to the user-agent string after a semi-colon. I will describe below how to add these tokens. Some websites may only read &amp;quot;iphone&amp;quot; or &amp;quot;iOS&amp;quot; from the user-agent and think that you have an iPhone.&lt;br /&gt;
&lt;br /&gt;
== How to add tokens to the User-Agent ==&lt;br /&gt;
# Create a directory somewhere. Either in /etc/palm/ or somewhere in /media/internal/. I created /etc/palm/uatokens/ so that I can create different subdirectories for different types of user agents.&lt;br /&gt;
# Then create a subdirectory for the user-agent you want to try to mimic. For this example, create iphone. You should have /etc/palm/uatokens/iphone/.&lt;br /&gt;
# Then, create the following files, with the following content:&lt;br /&gt;
#* /etc/palm/uatokens/iphone/cpu:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CPU iPhone OS 5_0 like Mac OS X&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/iphone:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;iPhone&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/mobile:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mobile/9A334&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/safari:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Safari/7534.48.3&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/version:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Version/5.1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/webkit:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;AppleWebKit/534.46&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Then, edit /etc/palm/browser-app.conf as below (the trailing '/' on the path is MANDATORY):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentTokensPath=/etc/palm/uatokens/iphone/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your User-Agent will now look like this (Pre3, with tokens to make it look like an iPhone running iOS 5.1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mozilla/5.0 (Linux; webOS/2.2.4; U; en-US) AppleWebKit/534.6 (KHTML like Gecko) webOSBrowser/221.56 Safari/534.6 Pre/3.0; iPhone; Safari/7534.48.3; AppleWebKit/534.46; Version/5.1; Mobile/9A334; CPUiPhoneOS5_0likeMacOSX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= Platform Independent Notes =&lt;br /&gt;
LunaSysMgr loads an instance of WebKit, and then reads WebKit settings from /etc/palm/browser.conf. BrowserServer loads another instance of WebKit, and then reads WebKit settings from /etc/palm/browser-app.conf. This is why you can change the User-Agent in one, and not the other.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21845</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21845"/>
		<updated>2012-08-26T04:45:22Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: /* How to Override the User-Agent */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= webOS 3.0.0 and greater =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser-app.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser-app.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= webOS 2.2.4 and earlier =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
Earlier versions of webOS do not have a wholesale override feature. It only uses a &amp;quot;token&amp;quot; feature, as described below.&lt;br /&gt;
&lt;br /&gt;
The WebKit implementation reads the contents of each file in the tokens directory, strips the spaces from it, and then appends this to the user-agent string after a semi-colon. I will describe below how to add these tokens. Some websites may only read &amp;quot;iphone&amp;quot; or &amp;quot;iOS&amp;quot; from the user-agent and think that you have an iPhone.&lt;br /&gt;
&lt;br /&gt;
== How to add tokens to the User-Agent ==&lt;br /&gt;
# Create a directory somewhere. Either in /etc/palm/ or somewhere in /media/internal/. I created /etc/palm/uatokens/ so that I can create different subdirectories for different types of user agents.&lt;br /&gt;
# Then create a subdirectory for the user-agent you want to try to mimic. For this example, create iphone. You should have /etc/palm/uatokens/iphone/.&lt;br /&gt;
# Then, create the following files, with the following content:&lt;br /&gt;
#* /etc/palm/uatokens/iphone/cpu:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CPU iPhone OS 5_0 like Mac OS X&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/iphone:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;iPhone&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/mobile:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mobile/9A334&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/safari:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Safari/7534.48.3&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/version:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Version/5.1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/webkit:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;AppleWebKit/534.46&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Then, edit /etc/palm/browser-app.conf as below (the trailing '/' on the path is MANDATORY):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentTokensPath=/etc/palm/uatokens/iphone/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your User-Agent will now look like this (Pre3, with tokens to make it look like an iPhone running iOS 5.1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mozilla/5.0 (Linux; webOS/2.2.4; U; en-US) AppleWebKit/534.6 (KHTML like Gecko) webOSBrowser/221.56 Safari/534.6 Pre/3.0; iPhone; Safari/7534.48.3; AppleWebKit/534.46; Version/5.1; Mobile/9A334; CPUiPhoneOS5_0likeMacOSX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21843</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21843"/>
		<updated>2012-08-26T04:40:11Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= webOS 3.0.0 and greater =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= webOS 2.2.4 and earlier =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
Earlier versions of webOS do not have a wholesale override feature. It only uses a &amp;quot;token&amp;quot; feature, as described below.&lt;br /&gt;
&lt;br /&gt;
The WebKit implementation reads the contents of each file in the tokens directory, strips the spaces from it, and then appends this to the user-agent string after a semi-colon. I will describe below how to add these tokens. Some websites may only read &amp;quot;iphone&amp;quot; or &amp;quot;iOS&amp;quot; from the user-agent and think that you have an iPhone.&lt;br /&gt;
&lt;br /&gt;
== How to add tokens to the User-Agent ==&lt;br /&gt;
# Create a directory somewhere. Either in /etc/palm/ or somewhere in /media/internal/. I created /etc/palm/uatokens/ so that I can create different subdirectories for different types of user agents.&lt;br /&gt;
# Then create a subdirectory for the user-agent you want to try to mimic. For this example, create iphone. You should have /etc/palm/uatokens/iphone/.&lt;br /&gt;
# Then, create the following files, with the following content:&lt;br /&gt;
#* /etc/palm/uatokens/iphone/cpu:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CPU iPhone OS 5_0 like Mac OS X&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/iphone:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;iPhone&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/mobile:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mobile/9A334&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/safari:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Safari/7534.48.3&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/version:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Version/5.1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/webkit:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;AppleWebKit/534.46&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Then, edit /etc/palm/browser-app.conf as below (the trailing '/' on the path is MANDATORY):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentTokensPath=/etc/palm/uatokens/iphone/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your User-Agent will now look like this (Pre3, with tokens to make it look like an iPhone running iOS 5.1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mozilla/5.0 (Linux; webOS/2.2.4; U; en-US) AppleWebKit/534.6 (KHTML like Gecko) webOSBrowser/221.56 Safari/534.6 Pre/3.0; iPhone; Safari/7534.48.3; AppleWebKit/534.46; Version/5.1; Mobile/9A334; CPUiPhoneOS5_0likeMacOSX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21841</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21841"/>
		<updated>2012-08-26T04:39:26Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= webOS 3.0.0 and greater =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= webOS 2.2.4 and earlier =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
Earlier versions of webOS do not have a wholesale override feature. It only uses a &amp;quot;token&amp;quot; feature, as described below.&lt;br /&gt;
&lt;br /&gt;
The WebKit implementation reads the contents of each file in the tokens directory, strips the spaces from it, and then appends this to the user-agent string after a semi-colon. I will describe below how to add these tokens. Some websites may only read &amp;quot;iphone&amp;quot; or &amp;quot;iOS&amp;quot; from the user-agent and think that you have an iPhone.&lt;br /&gt;
&lt;br /&gt;
== How to add tokens to the User-Agent ==&lt;br /&gt;
# Create a directory somewhere. Either in /etc/palm/ or somewhere in /media/internal/. I created /etc/palm/uatokens/ so that I can create different subdirectories for different types of user agents.&lt;br /&gt;
# Then create a subdirectory for the user-agent you want to try to mimic. For this example, create iphone. You should have /etc/palm/uatokens/iphone/.&lt;br /&gt;
# Then, create the following files, with the following content:&lt;br /&gt;
#* /etc/palm/uatokens/iphone/cpu:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CPU iPhone OS 5_0 like Mac OS X&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/iphone:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;iPhone&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/mobile:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mobile/9A334&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/safari:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Safari/7534.48.3&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/version:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Version/5.1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/webkit:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;AppleWebKit/534.46&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Then, edit /etc/palm/browser-app.conf as below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentTokensPath=/etc/palm/uatokens/iphone/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your User-Agent will now look like this (Pre3, with tokens to make it look like an iPhone running iOS 5.1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mozilla/5.0 (Linux; webOS/2.2.4; U; en-US) AppleWebKit/534.6 (KHTML like Gecko) webOSBrowser/221.56 Safari/534.6 Pre/3.0; iPhone; Safari/7534.48.3; AppleWebKit/534.46; Version/5.1; Mobile/9A334; CPUiPhoneOS5_0likeMacOSX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21839</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21839"/>
		<updated>2012-08-26T04:38:56Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= webOS 3.0.0 and greater =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= webOS 2.2.4 and earlier =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
Earlier versions of webOS do not have a wholesale override feature. It only uses a &amp;quot;token&amp;quot; feature, as described below.&lt;br /&gt;
&lt;br /&gt;
The WebKit implementation reads the contents of each file in the tokens directory, strips the spaces from it, and then appends this to the user-agent string after a semi-colon. I will describe below how to add these tokens. Some websites may only read &amp;quot;iphone&amp;quot; or &amp;quot;iOS&amp;quot; from the user-agent and think that you have an iPhone.&lt;br /&gt;
&lt;br /&gt;
== How to add tokens to the User-Agent ==&lt;br /&gt;
# Create a directory somewhere. Either in /etc/palm/ or somewhere in /media/internal/. I created /etc/palm/uatokens/ so that I can create different subdirectories for different types of user agents.&lt;br /&gt;
# Then create a subdirectory for the user-agent you want to try to mimic. For this example, create iphone. You should have /etc/palm/uatokens/iphone/.&lt;br /&gt;
# Then, create the following files, with the following content:&lt;br /&gt;
#* /etc/palm/uatokens/iphone/cpu:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CPU iPhone OS 5_0 like Mac OS X&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/iphone:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;iPhone&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/mobile:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mobile/9A334&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/safari:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Safari/7534.48.3&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/version:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Version/5.1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/webkit:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;AppleWebKit/534.46&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Then, edit /etc/palm/browser-app.conf as below: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentTokensPath=/etc/palm/uatokens/iphone/&lt;br /&gt;
...&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your User-Agent will now look like this (Pre3, with tokens to make it look like an iPhone running iOS 5.1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mozilla/5.0 (Linux; webOS/2.2.4; U; en-US) AppleWebKit/534.6 (KHTML like Gecko) webOSBrowser/221.56 Safari/534.6 Pre/3.0; iPhone; Safari/7534.48.3; AppleWebKit/534.46; Version/5.1; Mobile/9A334; CPUiPhoneOS5_0likeMacOSX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21837</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21837"/>
		<updated>2012-08-26T04:33:59Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= webOS 3.0.0 and greater =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;br /&gt;
&lt;br /&gt;
= webOS 2.2.4 and earlier =&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
Earlier versions of webOS do not have a wholesale override feature. It only uses a &amp;quot;token&amp;quot; feature, as described below.&lt;br /&gt;
&lt;br /&gt;
The WebKit implementation reads the contents of each file in the tokens directory, strips the spaces from it, and then appends this to the user-agent string after a semi-colon. I will describe below how to add these tokens. Some websites may only read &amp;quot;iphone&amp;quot; or &amp;quot;iOS&amp;quot; from the user-agent and think that you have an iPhone.&lt;br /&gt;
&lt;br /&gt;
== How to add tokens to the User-Agent ==&lt;br /&gt;
# Create a directory somewhere. Either in /etc/palm/ or somewhere in /media/internal/. I created /etc/palm/uatokens/ so that I can create different subdirectories for different types of user agents.&lt;br /&gt;
# Then create a subdirectory for the user-agent you want to try to mimic. For this example, create iphone. You should have /etc/palm/uatokens/iphone/.&lt;br /&gt;
# Then, create the following files, with the following content:&lt;br /&gt;
#* /etc/palm/uatokens/iphone/cpu:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;CPU iPhone OS 5_0 like Mac OS X&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/iphone:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;iPhone&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/mobile:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mobile/9A334&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/safari:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Safari/7534.48.3&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/version:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Version/5.1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* /etc/palm/uatokens/iphone/webkit:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;AppleWebKit/534.46&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your User-Agent will now look like this (Pre3, with tokens to make it look like an iPhone running iOS 5.1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Mozilla/5.0 (Linux; webOS/2.2.4; U; en-US) AppleWebKit/534.6 (KHTML like Gecko) webOSBrowser/221.56 Safari/534.6 Pre/3.0; iPhone; Safari/7534.48.3; AppleWebKit/534.46; Version/5.1; Mobile/9A334; CPUiPhoneOS5_0likeMacOSX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21803</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21803"/>
		<updated>2012-07-02T19:52:29Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== What It Is and What It Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ok, great, but this overrides LunaSysMgr, right? ==&lt;br /&gt;
Nope! LunaSysMgr uses a separate instance of WebKit with different preferences.&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21801</id>
		<title>WebKit UserAgent Override</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebKit_UserAgent_Override&amp;diff=21801"/>
		<updated>2012-07-02T19:50:35Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: Created page with &amp;quot; == What It Is and Does == The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.  == How to Override the User-Agent == The Browser...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== What It Is and Does ==&lt;br /&gt;
The user-agent override is a feature that allows one to do a wholesale replacement of the user-agent.&lt;br /&gt;
&lt;br /&gt;
== How to Override the User-Agent ==&lt;br /&gt;
The BrowserServer loads an instance of WebKit that uses the /etc/palm/browser.conf configuration file.&lt;br /&gt;
&lt;br /&gt;
To change the User-Agent, you need to edit this (/etc/palm/browser.conf) file, with the proper token.&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;[General]&amp;quot;  section, you will need to add the &amp;quot;UserAgentOverride&amp;quot; key. An example is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
...&lt;br /&gt;
UserAgentOverride=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=21799</id>
		<title>Portal:Research</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=21799"/>
		<updated>2012-07-02T18:52:53Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{portal-header|&lt;br /&gt;
The Research Portal is for bleeding edge things being done with the device. &lt;br /&gt;
&lt;br /&gt;
Title all pages: '''Research [description]''' or '''Reference [description]'''&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
===Research:===&lt;br /&gt;
&lt;br /&gt;
* [[Android under webOS on Touchpad]]&lt;br /&gt;
* [[Applications Bundled on the Pre]]&lt;br /&gt;
* [[Application_Framework|Application Framework]]&lt;br /&gt;
* [[Application Signing|Application Signing]]&lt;br /&gt;
* [[Blocking Updates]]&lt;br /&gt;
* [[New Bluetooth|BlueZ (Replacing Palm Bluetooth)]]&lt;br /&gt;
* [[Bluetooth Network Connection]]&lt;br /&gt;
* [[Boot_Chain|Boot Chain]]&lt;br /&gt;
* [[Bootie]]&lt;br /&gt;
* [[Carrier Configuration]]&lt;br /&gt;
* [[ClassicFilesystem]]&lt;br /&gt;
* [[Decrypt SSL (trusted man-in-the-middle technique)|Decrypt SSL (trusted man-in-the-middle technique)]]&lt;br /&gt;
* [[Default packages available in several webOS release]]&lt;br /&gt;
* [[Easter Eggs|Easter Eggs]]&lt;br /&gt;
* [[FirstUse Application Functionality]]&lt;br /&gt;
* [[Fonts available on board the Pre]]&lt;br /&gt;
* [[Gstreamer]]&lt;br /&gt;
* [[Hidd]]&lt;br /&gt;
* [[Intercept_SSL_Traffic]]&lt;br /&gt;
* [[Introspecting_Dbus|Introspecting Dbus]]&lt;br /&gt;
* [[Java Support in webOS]]&lt;br /&gt;
* [[Key Codes|Key Codes]] &lt;br /&gt;
* [[Media API|Media API]]&lt;br /&gt;
* [[Mounting Files and Devices as USB Mass Storage]]&lt;br /&gt;
* [[Network Management|Network Management]]&lt;br /&gt;
* [[Advanced Wifi|Advanced Wireless LAN]]&lt;br /&gt;
* [[OmaDm|OmaDm research]]&lt;br /&gt;
* [[OpenGL|OpenGL research]]&lt;br /&gt;
* [[OpenGL_Triangle_of_Doom|OpenGL coding and demo Triangle of Doom]]&lt;br /&gt;
* [[Pre Specific Hash Codes|Pre Specific Hash Codes]]&lt;br /&gt;
* [[Research_Pre_Keyboard | Pre keyboard scancodes and keycodes]]&lt;br /&gt;
* [[Palm_Profile_Interactions]]&lt;br /&gt;
* [[Proximity Sensor]] &lt;br /&gt;
* [[Pictures from Self-Test|Pictures from Self-Test]] &lt;br /&gt;
* [[PmIpcDispatch|PmIpcDispatch to talk to palm IPC servers]]&lt;br /&gt;
* [[Restore Debug Log|Restore Debug Log]] &lt;br /&gt;
* [[Reverse_Engineering_WebOS_Doctor|Reverse Engineering WebOS Doctor]]&lt;br /&gt;
* [[Rooted Pre Issues|Rooted Pre Issues]] &lt;br /&gt;
* [[Resident_2x_Apps|Resident (Permanent) webOS 2.x applications under webOS 1.x]]&lt;br /&gt;
* [[Research_Securing_Pre|Securing your Pre]]&lt;br /&gt;
* [[Running Processes|Running Processes]] &lt;br /&gt;
* [[Symlink Applications|Symlink Applications]] &lt;br /&gt;
* [[System Sounds|System Sounds]] &lt;br /&gt;
* [[TestApps|TestApps]] &lt;br /&gt;
* [[Facebook timezone issue|The annoying Facebook timezone issue]]&lt;br /&gt;
* [[Update Service Trace|Update Service Trace]] &lt;br /&gt;
* [[USB Host Mode|USB Host Mode]]&lt;br /&gt;
* [[Tidbits|Tidbits]] &lt;br /&gt;
* [[VideoRecording]]&lt;br /&gt;
* [[WebOS Exploration - Various Information|WebOS Exploration - Various Information]]&lt;br /&gt;
* [[WebOS network configuration files]] &lt;br /&gt;
* [[Research_Pre_GSM_Modem | Pre GSM modem device informations]]&lt;br /&gt;
* [[Research_Pre_GSM_Modem_Protocol | Pre GSM modem protocol informations]]&lt;br /&gt;
* [[Research_Pre_Audio | Audio routing and setup on the Pre]]&lt;br /&gt;
* [[Research_mpt | MSM modem passthru mode ]]&lt;br /&gt;
* [[Research_Pre_Boot_Process | Boot process]]&lt;br /&gt;
* [[LibSDL Research| SDL LibSDL research which lead to Quake and Doom running]]&lt;br /&gt;
* [[LibPDL Research| PDL LibPDL research ties into palm's device hooks]]&lt;br /&gt;
* [[Unofficial networks compatiblity list]]&lt;br /&gt;
* [[Research_kernel_Tuning | Research [kernel tuning]]]&lt;br /&gt;
* [[Touchscreen]]&lt;br /&gt;
* [[Chrooting | Methods of chrooting in webOS]]&lt;br /&gt;
* [[Touchpad Bluetooth Keyboard]]&lt;br /&gt;
* [[VPN Plugins]]&lt;br /&gt;
* [[XApps Development | XApps development model]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
===Reference===&lt;br /&gt;
* [[Packaging Standards|Packaging Standards]]&lt;br /&gt;
* [[webkit_transform|Webkit Transform]]- a powerful set of commands for manipulating elements.&lt;br /&gt;
* [[WebKit UserAgent Override|WebKit UserAgent Override]]&lt;br /&gt;
* [https://docs.google.com/viewer?a=v&amp;amp;q=cache:9lb_WwQBOXsJ:www.dunkelheit.com.br/supsi/Mobile/palestras/MFW10_JHU_PalmPrePhoneForensics.pdf+MFW10_JHU_PalmPrePhoneForensics.pdf&amp;amp;hl=fr&amp;amp;gl=fr&amp;amp;pid=bl&amp;amp;srcid=ADGEESgeMuyiewG_p88nJimTbMOKNerA-E1WtKgXfaajRXZ6PGmNd0YlWS3AyDpSqruZ9z71eUZdFQKgvUCKKTQC-hO8RXKbx7xU3iAfb1qv4e9Q2WuN1imFP0JDKKeCwAFjKbb1_L-i&amp;amp;sig=AHIEtbT_nc8wO7FY4HMi2wiN2nTpCZQfMQ  webOS Forensics Using the Palm Pre Plus] : a lot of useful informations on webOS ([http://www.mobileforensicsworld.org/2010/presentations/MFW10_JHU_PalmPrePhoneForensics.pdf OLD LINK]).&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=20765</id>
		<title>WhoIsWho</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=20765"/>
		<updated>2011-12-21T20:53:04Z</updated>

		<summary type="html">&lt;p&gt;Dkirker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the WebOS Internals developers, and the projects and activities for which each is responsible.  Names are listed in chronological order of officially joining the WebOS Internals team.&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rwhitby|realname=Rod Whitby|twitter=@webosinternals|responsibility=Founder and Project Lead for WebOS Internals and Preware |aboutme=Homebrew Ecosystem Architect. Lead developer for Save/Restore. Co-Lead developer for Preware, Govnah and UberKernel.  Co-developer for a number of other packages. Oh, and a family and full-time day job too.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=ka6sox|realname=Tom King|responsibility=Chief Server Infrastructure Architect and Sys-Admin Team Lead(aka BSAFH), Facilitator |aboutme=FT:High Power RF, VHDL/Verilog Design, Play Time: Dabble with Kernel development.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rboatright|realname=Rick Boatright|responsibility=Chief Evangelist|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=destinal|realname=Eric Duprey|responsibility=That would be telling|aboutme=Hacker, security geek, one of the original devs behind the WebOS Internals &amp;quot;Terminal&amp;quot; application}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=PuffTheMagic|realname=Ryan Hope|responsibility=Play devil's advocate|aboutme=Research assistant / cognitive science grad student by day; webos developer by night }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=egaudet|realname=Eric Gaudet|responsibility=AUPT architect and randomness|aboutme=Busy debugging}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oil|realname=Brandon VanBelle|twitter=@DontBlameOil|responsibility=Minister of Awesomeness|aboutme=It's not my fault!}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=dtzWill|realname=Will Dietz|responsibility=Various WebOS Internals games, X11, WIDK management|aboutme=CS grad student who spends entirely too much time on WebOS }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=zsoc|realname=|responsibility=Multimedia subsystem architect|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=uNiXpSyChO|realname=Marco Benton|responsibility=BOFH and Kernel hacker|aboutme=[[Full-time]]; SysAdmin, SAN Admin, Network Admin. [[Part-time]]; System integration and network design consulting. [[Free-time]]; programming - since that's what i used to do full-time 20 years ago. }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sbromwich|realname=Steve Bromwich|responsibility=Kernel developer|aboutme=Dilettante kernel programmer concentrating mostly on extending battery life.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=codecrumb|realname=|responsibility=The Warthog (kernel &amp;amp; patches)|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=cryptk|realname=Chris Jowett|twitter=@cryptkcoding|responsibility=Server administration and management|aboutme=I work as a full time linux systems administratior as my day job and lend that knowledge to keep the WebOS Internals servers running as well as they possibly can.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sconix|realname=Janne Julkunen|responsibility=Creating advanced patches and developing Mode Switcher|aboutme=Involved with Linux way too much :)}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oakridge outdoors|realname=Dustin|twitter=@oakridgoutdoors||responsibility=Wiki Editor|aboutme=Father, Husband, Sys Admin and Avid Hunting/Outdoors/webOS Enthusiast}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=bpadalino|realname=Brian Padalino|responsibility=The other set of eyes.|aboutme=First one to get a root shell on the Pre in the IRC channel.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=nebula|realname=John Tomawski|responsibility=Moral support and general hacking.|aboutme=Network Engineer by day, drummer by night. I put a Nintendo emulator and VNC on the Pre when it came out. Basic coding, nothing crazy. }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=dkirker|realname=Donald Kirker|twitter=@dkirker|responsibility=Strategist and Software Development|aboutme=Long time Palm fan. Recent Palm/HP intern and contractor. I developed Universe, the open source web browser, and a few other projects to come.}}&lt;/div&gt;</summary>
		<author><name>Dkirker</name></author>
	</entry>
</feed>