Categories

Android Phone Recorder Problem

Note:  I don’t have time to complete this posting right now, so it’s in a draft format.  I just wanted to briefly document my findings before I forget.  Back to studying for the Patent Bar…

I finally pony up the Benjamins and got myself an Android handset, wait for it – the Sprint HTC EVO 4G!

You may not share my enthusiasm, but finally ditching my HTC Mogul (running WinMo 6.1) and moving into an even more open platform opens up a lot of possibilities for me.  I’ve always been more comfortable developing on the *nix realm, and although I don’t have anything against the iPhone, Apple’s tight control on the iPhone OS just doesn’t sound that appealing to me.  At this point in the mobile platform ecosystem, iPhone enjoys a  almost 4-to-1 margin in the number of developers probably due to its two year head start in reaching the mainstream market, but the fact that Google opens up the entire Android platform, allowing me to develop apps that interface the hardware in a low-level way is much more appealing.  I hope for a day when the mobile platform mimics the general purpose computers that makes it possible to run almost any OS on the same hardware.

A bunch of people have been having problem building a true phone recorder on the Android.   Almost all smartphones these days come with an application processor (AP) and a baseband processor (BP).  The BP is responsible for handling the radio, and voice encoding -decoding, among other related tasks.  While the AP is used to run the OS and applications.  The fact that despite having an API that supports recording voice call (both uplink and downlink), none have been able to successfully implement the feature suggests to me that there’s more than meet the eye.  Upon further digging through the Android platform source and documentation, I found an interesting project within the platform that seems to be responsible for implementing what I want…, the Radio Interface Layer (RIL).

More to come…

Share

A5/1 Cipher Cracked

German researcher Karsten Nohl has cracked the encryption used for GSM.  His team has made information and tools needed to replicate the attack with a somewhat modest set up.    The A5/1′s 64-bit encryption key used in GSM is simply too short for the kind of computing power widely available today.  Considering that the technology is over 20 years old, however, it’s robustness is still remarkable.

Here’s the A5/1 Cracking Project’s website.

Share

Google Code booted JSMin-PHP Because It’s Not Allowed to “Do Evil”

An interesting report by CNET News.  How do you define evil?  I suppose one way to not do evil is to write the code so that it consumes less resources, either in terms of CPU cycles or memory (or both if you can!), thus reducing the power dissipated in millions or billions of CMOS Flip-Flops.  Just think about the implications of wasted charges/discharges and unnecessarily-spent batteries.  Wait, maybe I’m getting off topic…

Share

UCLA CS113, Introduction to Distributed Embeded Systems

This course will introduce basic concepts needed to understand, design, and implement wireless distributed embedded systems. Topics include: a) design implications of energy, and otherwise resource-constrained nodes; b) network self-configuration and adaptation; c) data routing and transport; c) applications; and e) software design issues. The course will be heavily project based. Working knowledge of C programming in the UNIX environment (particularly GNU/Linux) is assumed.

Click to continue reading “UCLA CS113, Introduction to Distributed Embeded Systems”

Share

Ruled-based Citation Checker Using Finite State Automata

I was trying to review my crim law reading last night in bed, and thought of the idea of using FSA to check legal citation.

If citation in legal writing conforms strictly to some predefined rules (either Bluebook or ALWD), then there’s no reason why the problem can’t be solved by a FSA which describes the finite number of rules set forth in those citation manuals. The solution seems pretty straight forward, and can be implemented fairly elegantly in either python or perl, off the top of my head. On the other hand, a functional language like list or scheme can probable implement achieve the same with significantly fewer lines of code.

More to come later…

Share

How To Display Form Fields Based On Selection With Or Without jQuery Cookie

Share

PHP Facedetect Extension

A Stumbleupon find.

I will be taking a look at the code when this semester is over…

http://www.xarg.org/project/php-facedetect/

Share

“Shortest Sudoku Solver in Python”

For those programmers and mathematicians, here’s a brain exercise to walk through from the good folks at stackoverflow.com.

Share

Theory Behind A Spelling Corrector

I stumpled upon this fairly interesting article and explanation about how a spelling corrector would be coded in Python.  This takes me back to Stat 110 at UCLA, and I thought it’s good for me to at least document this find for future reference.

Share

Custom CiviCRM Payment Processor Module

Documents the details of a custom payment processor written to work with CiviCRM 2.x.

Click to continue reading “Custom CiviCRM Payment Processor Module”

Share