 | Navigation |  |
 | Login |  |
|
 |  I recently discovered that my work performed for M-PESA as an IBMer has made headline news in Kenya and has hit many websites, including the Financial Times. The project, for which I elicited requirements and then designed, architected, developed, and deployed the solution is used to allow people from all over the world to send money to users of M-PESA in Kenya. Details can be read here.
ShALLaX on November 01 2012 17:13:08
| ·
|
|  |  |  |  |
 |  I'm a bit of an audiophile, as such, I like good quality earphones. About 4 years ago, I took the plunge and bought the Shure SE530. These were very nice earphones, maybe a little bit harsh on the hearing, but overall had very good sound reproduction. The only problem was that the cables had a tendency to break near the ear pieces as the cable had to be wrapped around the top of the listener's ear. After nearly three years, this finally happened to my set of 530s. The cable had fatigued at the right ear piece and the TRS jack. The final nail in the coffin came when I accidentally trod on the left ear piece.
Enter the Shure SE535. This set of earphones has exactly the same audio and acoustic setup as the SE530 but has detachable cables. "Fantastic", I thought. I bought the optional CBL-M+-K iPhone cable (it has volume and play in-line controls). After a month, the TRS jack snapped due to pressure exerted on it whilst it was in my pocket. I was willing to accept that it may have been my fault for perhaps not making sure the iPhone was correctly orientated in my pocket. I bought another cable; it broke after a month.
I was now the proud owner of GPB100 worth of useless cables. I contacted Shure to inform them that I believed their product design was flawed. Shure denied any knowledge of such a design flaw.
From Shure, I found out that the store from which I had been purchasing the cables was not an authorised Shure reseller and that Shure would not be in a position to honour their warranty (I'm not sure about the legalities of this claim). The store in question seemed to be avoiding taking any responsibility for refunding my purchase. I finally bit the bullet and bought another set of cables, this time from a different, authorised retailer. Look what arrived:

The top cable is the old cable, which broke. The lower cable is the newly redesigned cable. Rather than the housing being made completely of rubber, as with the previous version, there is a plastic shim inserted between the TRS connector and the housing. This adds a great deal of support. The housing is also much smaller now so that it is no longer an interference fit when using the cable with an iPhone inside a Bumpers case.
My accusation of a design flaw has clearly been acknowledged in the decision taken by Shure to redesign the product - even if they won't admit it. Now, if only it hadn't cost me GBP147.97 to get such a feeling of vindication.
ShALLaX on March 04 2012 17:10:03
| ·
|
|  |  |  |  |
 |  I finally got around to setting my broadband up in my new house. I've come from having cable internet to now being forced to have ADSL as Virgin Media will not supply services to my street.
I was able to lift-and-shift my homebrew Linux router into my new setup with minimal changes required (I just had to add a PPPoE "dialler" and change the interfaces being referenced in the script). However, one thing had me stuck for a good few hours: some webpages simply didn't load through clients behind the router (though all websites loaded fine directly on the router itself).
I spent a lot of time playing around with my network configuration to see if any of my hardware was causing the issue. I removed my wireless bridge and connected directly to the router to no avail. I tried different computers, no luck.
Eventually, I broke out Wireshark and saw that a lot of my TCP packets were reported as being lost (missing segments). This triggered a memory of something I had read about blackhole routers (routers which will refuse to fragment a packet but instead of reporting back to the originator, they will silently discard the packet causing the connection to hang and then maybe timeout).
Ethernet (and cable) uses an MTU of 1500 while PPPoE has an MTU of 1492. All of my client machines were set to an MTU of 1500. After changing the MTU to match that of the PPPoE link, everything started working. Not a great solution, as I don't want to have to manually set the MTU on each of my clients. I did some research and found that DHCP can specify the MTU that all clients should use. However, it was clear that this wasn't a viable solution upon witnessing Apple equipment completely ignore the advice provided by the DHCP daemon.
Finally, I came across an IPTables rule that forces the MSS (maximum segment size) to a particular value for a given link: `iptables -t nat -A POSTROUTING -o ${EXTIF} -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1453: -j TCPMSS --set-mss 1452'
This must be added before the masquerade line (`iptables t nat -A POSTROUTING -s 192.168.0.0/16 -o ${EXTIF} -j MASQUERADE'). Implementing this goes against everything that has been put in place on the internet to prevent this problem (MTU path discovery should allow participants in a conversation to determine the maximum segment size dynamically). However, while there are still blackhole routers in the world, hacky work-arounds like this will be required. For now, I'm just glad that my internet connection is working properly. DNS updates are pending, but I can see them propagating throughout the internet as I write this!
ShALLaX on February 05 2011 20:02:02
| ·
|
|  |  |  |  |
|