About Humboldt Solutions Ltd. offers custom software development and consultancy. Contact us on info@humboldt.co.uk to find out how we can help.

|
Linux machines with multiple network interfaces are unreliable as TFTP servers. This issue has been outstanding for a long time, without any resolution. The patch attached to the Debian bug fixes the problem for an old release of tftpd-hpa, but does not apply cleanly to recent releases.
Recent releases of dnsmasq contain a TFTP server which does not have this problem. While this doesn’t solve every case, it provides a tidy solution for a machine which provides BOOTP and TFTP services to several subnets.
Continue reading A Working TFTP Server for Multi-Homed Linux Systems
I’ve recently been introducing the Spring Framework into an existing Java application, using it to speed up adding new features, while making the existing JDBC code more maintainable. One tricky area has been time handling: the application uses an older SQL Server version, so cannot take advantage of the implementation of timestamp with time zone in SQL Server 2008. All the time fields are kept in UTC, and the application must be careful that all the times are converted to and from UTC correctly. With pure JDBC this is handled explicitly, but with Spring JDBC access this is implicit.
Continue reading UTC, SQL Server, and Spring
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
|