Many mobile data services implement a forced cache on access to port 80. These caches often have the unfortunate assumption that the access comes from a web browser, and that a human being will look at the page. Vodafone completely reformats page content, while T-Mobile simply recompresses images at a lower quality. For a human user, this can be a nuisance. For an embedded application, content transformation can be far more serious.
There are several workarounds possible:
- Use SSL. This completely avoids the problem, at the cost of extra data transfer and a longer setup time.
- Arrange with your mobile data provider to turn off content transformation for your SIMs, or for accesses to your server. It can take a long time to find the right person to arrange this, and the process has to be repeated for every network you use in every country.
- Add a Cache-Control header to your http requests, and set a meaningful User-Agent header.
Continue reading Mobile Proxy Servers
Every so often I see someone attempting to run the Linux kernel on a PCI add-in card. I’ve done this myself, but there are a lot of complications. This article covers the hardware, and a second article will cover software. Don’t take this as chipset selection advice: before you commit to hardware double-check both the errata and the availability of the silicon.
Continue reading Running Linux on a PCI Add-in Card: Hardware
If you’re designing an application where devices communicate with a server over a mobile network, there are trade-offs between implementation effort and data transfer. This may not apply to a consumer application, where the application developer doesn’t have to pay the data charges. But if the application is M2M these trade-offs matter.
Continue reading SSL Handshake Overhead for Mobile Devices
I have now seen my first ever year 2038 bug. An embedded Linux system that was installed two years ago became unable to acquire a network address by DHCP. The machine did not require an accurate clock, and nobody had initialised its battery-backed real-time clock. Once installed, it had started counting forward from 1st January [...]
Theora video on the DM642 may not be entirely successful, but Vorbis audio is a different story. I’ve been experimenting with the Tremor integer-only implementation of Vorbis decoding.
Tremor offers two modes of operation. Normal mode, and low precision mode. Normal mode requires 64-bit intermediate results in arithmetic operations, whereas low precision mode only requires 32-bit intermediates. [...]