com.google.process.gapps force close on my ASUS Transformer – solved

This isn’t an issue I’ve encountered before but since last night, I’ve been getting these. Very regularly. Today, I noticed an association between this and using the web browser.  Sure enough if I went into Settings -> Accounts & Sync -> that Google account; and unchecked “Sync Browser”, it stopped. Like wise if I toggled it back on, it would rapidly force close.

Being more scientific, I toggled sync on/off for some other Google services without getting any force closes. Problem therefore became, how to fix this?

Android apps generally store their data under /data/data/package-name; where typically /data/data is your internal memory and package-name is a Java dotted package name like com.android.browser; that’s just how it is I’m afraid. Inside, I noticed nothing very interesting. Mostly an XML file related to settings and some databases. This is a Good Thing ™ except Fuck Your Life if you want more stuff on your memory card; unless you get hacky with mount points and linkages that is. Now, being frugal, I created an archive of this data folder (com.android.browser) from my root shell, then went into Settings -> Applications -> Manage Applications -> All -> Browser, force closed the browser and hit clear data. Problem solved.

Being of the SQLite3 varity, I’m sure I could splice anything of interest out of the backup back into the new Browser setup, but I’d rather get more done. An advantage of the important parts being either in cloud (book marks) or brain (passwords, etc), is the lossage is minimum. If anyone has more data on what causes it to go wonky, or on com.google.process.gapps in general, I’d be interested in your comments.

Someday I really would like to get myself a git checkout of the Android source, but I think I will wait until after Ice Cream Sandwich for that.

Web apps or native apps?

On the desktop, I will generally opt for using a web site over an application where possible, except when an application is seriously more convenient. For example, at home I typically rely on webmail and forgo using a local client; at work the inverse is true. GMail is one of the best ways to do e-mail :-).

When it comes to e.g. Android, I will often opt in favour of a decent app, over the web version. Apps generally have less overhead then rendering a desktop-oriented website, heavy on JS and meant for the mouse, yet mobile apps sometimes suck compared to websites; mobile or web version. When it comes to Google stuff, I use the apps. The mobile versions (at least on my TF101) are fairly similar to the mobile apps. The desktop *<b>web</b>* versions are best, but the Android apps are O.K. Contrast: the Facebook app has always been crap, compared to either version of the website.

The advantage of going web with it, is that the cloud auto-magically can solve a lot of little logistical problems. Like keeping data in reasonable sync, favouring search over storage, and removing the issue of “Maintance” — all you need to keep up to date is usually your web browser, once in a blue moon. It is even possible to have web applications that are aware of one another, although this is sorely under-utilized in reality, versus what can be done. Facebook stuff is probably at the forefront, in more ways then one (but not all of them awesome).

When it comes to using an App, you gain hopefully better Native Integration. On the desktop, not so much in my experience: stuff like Mozilla Prism and Chromes app mode just don’t cut it just yet, nor does the whole add-on/extension crapola. I’m talking a *<b>Real</b>* native application. Thunderbird versus GMail. Thunderbird will always have better integration with today’s PC environments than the GMail’s web app. Well, knowing Moldy old Mozilla maybe not always, but you get the point ^_^. The few exceptions that I’ve seen are products like Dropbox, where the native application _is_ the major selling point of the experience, and thus makes the cloud go round. It just happens to have a useful web user interface to boot.

Native applications open up a whole world for interesting savings and mangles. A good example, using an Android phone, you can have device local, mobile carrier, MS Exchange, Google, and Facebook contacts all synced even though they come from seperate providers; anyone could extend their service like this, fundimentally. That’s how stuff should be done. In some cases (Google, Exchange) it is even possible to have calendar data synced. The downside is that doesn’t get merged back into the Google-cloud, and that is probably a Good Thing(tm) even if I and others might like the option of it.

I think the web is one of the better interfaces for creating applications, if you want a UI that isn’t better mapped to command line programs. Android offers quite a nice programming model, and I assume that iOS and BlackBerry-land offer something sufficent. The world of PCs not as good.

Personally, I think in the future, we will see the evolving “Mobile” experience rise up and destroy both the PC and Web 2.0. The difference is, it will be Mobile 3.0 :-). Then this will all fade away until such a millienia that notions like PC, Mac; Desktop, Laptop, Phone; all of it fades away into being about as interesting as using cornkobs to whipe your ass instead of the three sea shells.

Given the choice, it’s obvious where I stand. But the real question is, does it run unix? 😛

Evernote sucks

Thumbing around the Android market, the Evernote app caught my eye again. So I decided why not give it a go, it’s probably the best note taking app for Android (and I admit, it probably is). Thus I installed the app, created an account, and went about setting up the Windows app for my desktop.

Last time I went searching for a note taking app, I settled on the Viki plugin for vim. I probably entertained a several dozen stuff, including Evernote. It never made it past the information gathering phase, since it lacks support for Linux and *BSD. Having adapted an ASUS Transformer as my primary system, Android support is now good enough. Evernote AFAIK is widely used and reasonably respected in the business of note taking software. No wonder—it’s about as useful as a notebook and a pencil.

I am not your “Joe” note taker, that I will admit. My notes are frequently pre-processed data. Things where re-parsing it back into my head and bringing order to notes is fairly important.

The desktop application failed glaringly as less than ideal support for:

  • Concept of sectioning is limited to font size/style and horizontal rules.
  • Structure is limited to indentation, bulleted lists, numbered lists, and tables.
  • Cross referencing data is primitive but effective.
  • Support for “Snippets” of formatted content is limited.
    • as in sample commands.
    • log data and program outputs
    • definition lists.

The Android tablet application despite the awesome user interface, suffers from all of the same plus the following gotcha’s when editing text notes:

  • Indentation is gone.
  • Adding links is gone.
  • Font styling is gone.
  • Adding tables is gone.
  • It’s to dismal a prospect to test how links, indents, font styles, and tables render when viewed in the app.

Simply put, ever note is more primitive a note taking system than Microsoft Word, and it’s only advantage of adding something like Dropbox or Google Docs to that mixture, is the sync feature. In fact this blog editor is much more powerful than Evernote, even more so because it can take raw HTML.

For a stress test to evaluate if I could tolerate life with Evernote, I tried to reformat one of my notes files from Viki by copy/pasting the content and adjusting. The note consists of numerous sections/subsections  (at least up to 3 deep) and various lists, links, and pre-formatted data; nothing you can’t do in raw HTML, LaTeX, etc. Or even plain text if you roll your own conventions as per org-mode or deplate.

After about 80% of the file, I  just gave up as it came to my mind that “Evernote is about as sophisticated as using a notebook of paper and a pencil, so why don’t I use that?”—It is just so far underpowered that I would get more value out of notepad.

Some could say that I’m being too strict, but hey, I am strict when it comes to software that I will spend *excessive* amounts of time using. If I really wanted to nit pick, I would mention the lack of folding, not that I expected that from an app focused on “Notes”.

Fun with tmux & dtach

Generally the problem with running a terminal multiplexer like tmux or screen on a remote server: is if the server goes down so does your session. Like wise an issue will eventually crop up where in you have to SSH into another server or even the box you’re sitting in front of, if you don’t want a seperate xterm in order to do it; thus losing all that multiplexer goodness.

Well, I pretty much run the session (tmux btw) on my system, and then use dtach for running things I may want to detach from&mdash;like a big compile. One perk of this is I get to have my “notes” window in tmux without double the latency.

Today, I was thinking about how can I link this notes window to various tmux sessions? It is possible to link windows (linkw) in a session and entire sessions (new -t {other session}) but that is not what I want. dtach again to the rescue! My notes script already amounts to opening my “Scratch” note file in vim, and changing the window name to “notes” if used in tmux. So I modified it to be smart enough to run vim in dtach, or reattach. Thusly, I can have tmux sessions by project, home, etc, and share the same vim session between them using dtach.

Note tacular!

An interesting idea for Android development

I could hook up my rooted phone to my netbook turned server, write the code using my ASUS Transformer, then run a batch job over SSH that compiles and installs the app on my phone.

Then connect to my phone via VNC and test it off the same Transformer 🙂

PostScript (.ps) versus Portal Document Format (.pdf) – from a users perspective

Generally, PS is pretty much a dead format today. The only time a user is likely to see significant amounts of it in my experience, is if they are dealing with quality printing. Reality is almost everything comes in PDF (or Word/Excell if from retards), and morons assume that Adobe Acrobat is the only reader for it. Most people don’t know that PS exists and to many are just to lost to figure out what a PDF is (ugh, grow up!). The simple facts:

  1. Post Script is text based
  2. PDF is a binary format annd offers some programmatic options where supported

Here is what makes that interesting! I have numerous files in PDF and PS formats. Most are under 5M and are PDF. Now there is a monster called The_Complete_FreeBSD.ps that weighs in at a whopping 60M!!! My largest PDF files were around 12M to 16M. I’m compressing stuff I don’t use frequently but don’t want to erase for space reclaimation. So I compressed everything over 2M with XZ to see what files will compress enough to be worth having to uncompress them next century. Most PDF files contained a few embedded images, so savings were on average about 1M, e.g. 15M becomes 14M. Useless. A few files that were more exessive on text shrunk from between 3.5M and 4M to between 1.5M and 2M. That is nice but still to small to care about, because of the original file size. The 60M PostScript file compressed down to 1.6M!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Size checks were done using du -h and compression with xz -e. Being more textual and less binary, I infer that we can get better compression ratios out of Post Script than PDF. Although it is possible to make a PS file that is pretty binary for all practical intents and purposes. But that was surprising….lol. Post Script: In point in fact, I think the only organizations that I have ever seen acknolledge other PDF readers exist, have been Canadian govermenta, which even went so far as to note XPDF, an old choice among Linux/Unix users. +1 for the Blogger app for Android remembering what I started writing ages ago witout me even having to click a draft entry, hehehe.

Interesting findings. At work, my work station has always had problems using SMB/CIFS, in fact  it is almost useless but fortunately being Linux-oriented over here in Engineering, more traditional unix methods are favoured, so it is of little loss. Now the sad fact that most people use Windows, means that SMB/CIFS is easier to work with under Android than stuff like NFS or any of the multitude of similar techniques. As I rarely need to share stuff with multiple people, for my own stuff, I typically use SSHFS.

In fact, SSH is both such a part of my work flow between machines (here and espiecally at home), I wrote a handy script that lets me quickly mount my $HOME on a remote as ~/hosts/{hostname} locally. It’s useful. My workstation is setup both as a SSH client, server, and sshfs-mounter. But how to get stuff via Android, since I can’t just use CifsManager?

My ASUS Transformer obviously has support for FUSE, just looking at what `mount` says is enough to guess that. But there is no real support for SSHFS, all the goodies are missing. Since I have a very simple chroot of Debian stable, a quick `apt-get install sshfs` and bingo, all done :-). Since the stuff I’m interested in mounting at home (where SMB/CIFS works like a charm), I can just use SSHFS mounts and a shared socket. I.e. I can have things like my Dropbox mounted, get live sync, and even access locally!

Muahauhauauhuahuaaaa!!!!!!!!!!!!!!

Geekicious mixed client workflow

Okay, that is a post title that only a geek could love. So sue me, I’m geek lol. My battle pad is now fully operational, and should soon feature a charging cable extender and screen protector.

Today, I found that while the Debian chroot I have works well, sadly the linuxinstaller app in the market sucks at setting up resolv.conf. So I edited the init script it uses for an entry hook, to detect my home network and the corporate WiFi. Sadly, doing so results in DNS names going external, so something is still fraked. On the upside, editing the chroot’s /etc/hosts works, and that is what everyone here does. Never mind that the important servers have DNS names and OpenSSH can alias them to any shortname, but alas, it works.

One downside of running a terminal session on Android, BTEP will get reaped if you don’t use it for long enough. Like wise the linuxinstaller doesn’t run your bash as a login shell (!) and it’s a bug to remount the path to linuxchroot.sh as rw; so… I found how to kill two bugs with one rocket. I can leave a tmux session running and reattach at will. Muahuuahuahauhauhauaaa! Quite nicely, if I run the tmux session on the server-end, I can attach to it from another box (like my workstation), and use X forwarding; if I create a new tab from the X-terminal, it inherits enough environment to easily use the X-terminals X.Org server :-). This is even cooler because I can have the undesturned mobility of a ‘book or tablet, yet skip fouling my X session. There is also the VNC trick to run X clients on Android but I have not tried it, nor am I very interested right now.

A new idea occured to me while chatting with a friend, namely that I can export my notes directory from alice or my workstation, mount that on andrea over cifs/smb or NFS, edit locally, then get the Dropbox live sync goodness. Which still works because while alice is running at home, so is her Dropbox client and my cronjob to auto git commit my notes files!!!

Muhauhauhauahaaa!!!!!!

Hmm, so far operations with Andrea are moving fairly smoothly. Today, i spent a little time using Eclipse to try and prototype an idea, but soon gave up. Eclipse is a reasonable enough IDE but for Android work, the extra editors and crap are just not as useful as opening the file in the text editor, and if I may as well, then I will use VIM and execute the Android tools directly in a shell. Piss off.

I’ve been exploring the Android market more of late, because Andrea has so much more storage. My phone has limited internal storage so I rarely will use an app unless it offers something I find practical, like Dropbox & Opera. Rooting it helps since more stuff can be moved to the MicroSD card. Andrea on the other hand, has a lot more storage capacity: about 28GB user accessible from a market value of “32GB”. I’m still principally interested in apps that get work done. Two that I’ve been playing with today, are TextTab which is pretty much using your phones SMS from your tablet via Bluetooth.It’s awesome, it works, it does exactly what I want, and I can’t say the say about the Bluetooth SMS app that I tried during yesterdays shopping expideition. Something else that I tried, is a TeamSpeak 3 client. From the look of the write up, they likely intend to charge for it once it exits beta but it works as an OK client. Not enough for admin work or anything but fine for the core use: VoIP.

Alice has also been setup as a server, as part of cleaning my room. It will likely operate similar to the development server at work but for my personal projects, I’ve also exported some parts of my $HOME to the network. Eventually most of that will likely become stored on Andrea but for now I’m more interested in having it available. Andrea the tablet-book definitely brings my routine closer to the cloud than Alice the netbook but so far I am liking it.

Using a netbook as a mixture of development server and network attached storage may seem very weird. To me, it also has the added benifit that while I may lose my connection as the router goes offline – in a power outage, my session state in tmux can be saved for as long as the battery runs. Plus I could reattach locally  and have the same keyboard as the system I was working on. Muahuahauahuaa!!!!!!

Day two and I almost kilt her but now I has root

After setting up my Eee Pad Transformer over night and lunch, I went about trying to root her after getting home from work. Flashing Andrea seemed to work fine, give or take that I normally have reservations about flashing stuff I haven’t personally proofed. It was marked as being appropriate for my SKU and release but left Andrea booting into a garbled multi-colour screen….a small fortune in paper weights.

I quickly rebooted Andrea into APX mode and searched Google for a way to unroot back to a stock ROM, even if that meant the original version. That soon lead me to Roach’s Prime v1.4 ROM, which I flashed to recover to a blank, usable, and rooted state. You can’t upgrade from Prime v1.4/Honeycomb 3.1 via ASUS updates, so I hit the web again to see if he had released a newer version of the ROM, sure enough, he has gotten up to v1.9! A quick look about showed me Prime v1.7/Honeycomb 3.2 stable and a 1.8 version in beta. So I tried to install the Prime v1.7 ROM as an update. Now that isn’t so hard, you basically save the ZIP archive and install it using ClockWorkMod via a recovery boot. The problemo is the ASUS Eee Pad Transformer sticks the internal storage at /mnt/sdcard with a link to /sdcard. Using a real memory card or USB device will go in /Removeable/WhatEver. So CWM couldn’t use the update, ‘cuz it couldn’t mount /sdcard.

Having missplaced my USB stick some time between work and vacation prep, I gave it no attempt to try that option and instead went looking for memory cards. I had purchased a pair of SD cards when I had bought a digitial camera a couple years ago, as it hadn’t lasted very long, my mother inherited them for her Dell Streak 7″. She had no idea where they went, so I checked her streak and found one – loaded the archive, stuck the card in the docks slot and bingo, same problem. So I removed the file, stuck that back in my mother’s tablet, and ripped the MicroSD card out of my phone. Sure enough that worked and in a few minutes was greated by a Honeycomb 3.2 versiion of Prime :-).

So now Andrea is alive, functional, and rooted. I just had to trade ASUS support for the brillance of Roach (that ROM saved my pad), and had to reinstall everything because I didn’t do a proper backup first. But that was a simple fix of redownload stuff off the Android Market via the website. I ain’t stupid, lol. When I get home, I will probably try to update to the v1.9 if it seems stable enough, but by the time I can get around to that, I will want to backup my stuff first.

After getting everything settled, I finally decided that it would be a good idea to register on xda-developers, since their forum is like most important place on the web for stuff like this. They have the most awesome forum registeration process ever, including a video. It’s worth it lol. Poking around the forums for my devices, it seems that it may be possible to flash a stock ROM after all but I would rather stick with Prime at this point. I’m also interested in seeing what gets cranked out but will need to aquire a suitable memory card before I can likely do much serious backing up.

I’m really thankful that Roach and cie made that available…lol