Skip to main content


Showing posts from March, 2010

ASE r20 Released

So, what's new? Features: First version of triggers added. Scripts can be scheduled to launch periodically. It's still a little rough around the edges, so file bugs ! Bug fixes: Live folder now only shows scripts that can be executed. API browser crash fixed for airplane mode API. Cleaned up settings APIs so that they fit a common pattern. Under the covers: Additional improvements to RPC annotations. These improvements should be reflected in the API browser soon as improved documentation and code generation. In the works: Triggers for scripts that should be executed at a specific time in the future. Visit the  ASE project page  to download the latest APK.
Read more

How to Install Mercurial on Ubuntu

Using apt-get to install Mercurial on Karmic will only get you version 1.3. That's pretty lame. Instead, use easy_install and get version 1.5! sudo apt-get install python-setuptools build-essential python-dev sudo easy_install mercurial
Read more

ASE r19 Released

So, what's new? Features: JRuby updated to 1.4. New logcat viewer. Use left and right flings to switch between the Script Manager, Interpreter Manager, and Logcat Viewer. Screen timeout API. Airplane mode API. Bug fixes: Installing interpreters on Cyanogen now works. Downloading interpreters is now faster. Scripts live folder works. Python sample scripts updated and fixed. Under the covers: Improving the RPC annotations for code generation. In the works: The first version of the trigger manager is working and will hopefully make it into r20. Visit the  ASE project page  to download the latest APK.
Read more

My 5 Rules for Writing Bash Scripts

Don't use Bash. Put quotes around all variables:  echo "$FOO" Don't use Bash. Put spaces between everything except assignments:  FOO="bar"; if [[ -n "$FOO" ]]; then echo "$FOO"; fi Don't use Bash.
Read more

ASE r18 Released

Note: The r18 release had a interpreter installation bug that has been addressed in r18-1. So, what's new? Features: Help menus now provide links to both the wiki documentation and to the new screencast tutorials. Downloading interpreters now shows a progress bar and can be aborted. Installation is more robust. However, there is still a known issue with installation on Cyanogen. Shortcuts now support launching scripts in a terminal or in the background. Bug fixes: Python sample scripts changed to use namedtuples. Under the covers: Launching scripts from other activities is now made easier via the AseServiceLauncher. In the works: A trigger manager for launching scripts at certain times or when certain events occur. Visit the  ASE project page  to download the latest APK.
Read more

Reencode Videos to Play Faster

I'm currently recording screencasts (using XVidCap ) to use as a video-based help system in ASE . Because the Android emulator is slow and the steps are quite simple to follow, it's useful to speed up the playback of the screencast. I'm currently doing this with MEncoder (the magic flag is -speed <multiplier> ): mencoder input.mpg -ovc lavc -lavcopts vcodec=mpeg4 -speed 2 -oac copy -o output.avi I also recommend Avidemux (over Open Movie Editor) for your basic editing needs.
Read more

ASE r17 Released

So, what's new? Features: Tcl added as a supported language. User interface APIs added for displaying various dialogs. API Browser updated to provide code generation . Long tap on a method to insert it into the script editor. Editor now auto completes parenthesis, brackets, and quotes. Terminal and editor have fullscreen mode and font size selection in preferences. Alert manager APIs added for regularly triggering scripts. Speech recognition API added. Live folder support added. Long tap on a home screen to add a live folder of ASE scripts. Python API now uses namedtuples instead of dicts (i.e. use droid.getInput().result instead of droid.getInput()['result'] ). And lots of other improvements! Under the covers: All scripts now run as a service and can pop into the foreground as necessary. This is a huge step toward having ASE work as a common runtime for ASE powered applications. A lot of facade refactoring that will make it easier to add new APIs in the futur
Read more