Sunday, February 27, 2005

Since when short-sightedness has become the norm for governments?

Republican senator John McCain sems to require every other nation to be no smarter than US when it comes to energy policies. He declines to allow Iran to develop nuclear power programs based on that "They're sitting on a sea of oil, as we know." Well, haven't you guys heard the wake-up call, oil is running out. At this point I'd like my home country to actually start conserving oil through reduction of extraction. Leave it for our children, and their children.

This short-sightedness may be the direct consequence of the fact that no president (and no elite accompanying him/her) can plan ahead for more than 4 years.

P.S. I'm very thankful to this guy for opening my eyes to the problem of peak oil. Not that I could prepare myself for the consequences, though...

Thursday, February 24, 2005

Wireless programmers ignore networking issues

Reviewed design and protocol of data exchange between a mobile device and a server recently. It was no surprise that the same old, naiive approach to programming networked transactions is implemented. Client will compose a long string (really long string) consisting of URL and another one, under the covers, the body of HTTP request, with headers and stuff. When done, it will begin transmitting it. And it will not expect anything in response until it's done sending. Seeing anything wrong with that approach? While current wireless networks boast great bandwidth, making a connection and having the first bytes of transmission appear on the other end of the wire takes a sizable time to see. Which causes even smallest of transactions to appear intolerably slow.
Solution exists:
  • the client must expect response from the server the very moment it estabilished connection;
  • reading must be performed in parallel with writing;
  • server and client must agree on the fact that every session of data exchange is not atomic, every session must be divided in smaller bites;
  • it also holds true that the server must send the piece of information in response to every such bite-sized transaction as soon as it's done, should not wait till all transactions in request are processed
The benefits:
  • network latency is reduced
  • application liveliness and user-frendliness is improved
  • less memory is needed on client and the server to complete exchange
The complications:
  • can not use IWeb interface in BREW, must program sockets; (J2ME is so much better in this regard, got a connection - have a DataInput/OutputStream)
  • must program multiple threads (again, screw BREW);
  • object-oriented approach on the server gets non-trivial, as operations have to be performed on-the-wire, meaning server has to operate on input and output streams and not on collection of transactions
These complications prevented our partner from responding positively to our suggestion to revise the protocol. But they are supposed to be professionals in wireless programming field! Why have they not come forward with this approach in the first place? Oh, well. My conscience is clear and when they hit the wall trying to communicate the state of application on a wireless client to several other such clients, I'm going to tell: I told you so.

Published this over on JavaLobby, hopefully it can be discussed there.

Monday, February 14, 2005

Wireless carriers' days are close to being over

Skype has introduced a version of their VOIP software for wireless handhelds with Windows CE. Virtual operators are on the march! First, MMS, now this. I say, farewell, you greedy Baby Bells (well, some of them). I can see myself two years from now using unlimited, unmeterd GPRS access and not using any minutes off my minimalistic wireless plan.

Thursday, February 03, 2005

VHS to DVD/SVCD - given up for the time being

Brought the hardware back. Still it takes too much effort to produce a decent quality video. I'll wait till it's push-button simple AND the result is close to professional quality DVD... For now, I could use my DV camera to do the conversion, but it seems that I'm not going to want to spend that much time trying.