tag:blogger.com,1999:blog-148177952024-03-07T14:13:11.059+08:00mannI believe...Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.comBlogger62125tag:blogger.com,1999:blog-14817795.post-11063798004428002872012-05-19T14:42:00.000+08:002012-05-19T14:46:05.500+08:00From smartphone to flip, from Tmobile to Sprint: Why did I switch?The short answer: Ting!<br />
<b><br /></b><br />
<b>Why?</b><br />
Su lost her smart phone. That lead me to start searching for phones, and somehow Ting showed up! By Tucows.. Remember them? Guess not, but if you think hard you would.<br />
<br />
Ting isn't a mobile service, but its like a software engineers approach to how a mobile provider should operate. You pay for what you use! That's it, really. Its simple.
Now when you start calling people, you don't need to calculate in your head, if its Sunday or Monday, morning or evening, early evening or late evening.. Or just broad sunlight (which is really bad for the bill).<br />
<br />
<i>No more of that shit.</i><br />
<br />
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/hW4s3a4ZScY?feature=player_embedded' frameborder='0'></iframe>A quick comparison against my current T-mobile bill showed that I should be paying half of what I currently do for the two lines I have, for the resources I use (call, text, data). And my bills would actually look readable.<br />
<br />
But, to switch, I'd have to buy a phone from Ting. By telling this, I think I'd probably loose half of the people reading this post who I just got excited. Its okay, I lost my excitement for a bit too, who wants to spend 500 bucks for another smart phone (anyone?).
Then, I had this amazing realization..<br />
<br />
<i>Wait for it!</i><br />
<br />
<i>You don't need to get a freaking smartphone.</i> No you don't.<br />
People can live perfectly fine without it, and IMO, can run things more efficiently without it.<br />
<b><br /></b><br />
<b>But really, why?</b><br />
<br />
The practical reasons I had to drop smartphone from my pocket are the following:<br />
<br />
- With a typical smartphone (iPhone, or unlocked Android) you're stuck with a GSM phone in US, you can either have Tmobile, or AT&T. Both have bad coverage, almost anywhere outside of the city you live in.<br />
<br />
- The rest of the two networks: Sprint and Verizon charge way over the roof for their services, and give you a device which doesn't work in the rest of the world.<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKmCLnkeJ8F4JoBV5Avrywn3zx695qhDhSFsbpFAAPwMP7QG8t_fd2gZaF6QZ40XQxdAslqoeLc1DD8_cazO9j6vjjdZAx5cEuQNyk08c2xuhYrT_hdvVogYrmpSv40UqQ6mBK/s1600/wenger_giant_swiss_army_knife_2.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKmCLnkeJ8F4JoBV5Avrywn3zx695qhDhSFsbpFAAPwMP7QG8t_fd2gZaF6QZ40XQxdAslqoeLc1DD8_cazO9j6vjjdZAx5cEuQNyk08c2xuhYrT_hdvVogYrmpSv40UqQ6mBK/s320/wenger_giant_swiss_army_knife_2.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">That's what should be called, a "smart-knife".</td></tr>
</tbody></table>
<br />
<br />
- The battery life of any of these smartphone is barely enough to get you through the day. When I go for camping/offroading trips, and am out of power for some days, this thing is just dead weight after the first evening.<br />
<br />
- Because 3G doesn't work once I start driving outside the city, the GPS doesn't work. This hit us really bad last year, when we were lost finding our campsite; and we went ahead and bought a real GPS, which hasn't failed us once.<br />
<br />
- For places where I don't have access to WiFi, but want to use my iPad, even though my Android is nice enough to become a WiFi hotspot, it becomes hot like its on fire, and dies in the next hour.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWXGqKVpCtPEnYkishWuPcV8JXftk4fg_lsRrr3Tpsv4cod1qqn5pB8PqafiYUl8Xy-w5VggVDHi1ot6IaUHwEy1nb5eVAXad7xgPzJaKUxTM35DdzABqgneOcnlncZJ-a9pof/s1600/usmc.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWXGqKVpCtPEnYkishWuPcV8JXftk4fg_lsRrr3Tpsv4cod1qqn5pB8PqafiYUl8Xy-w5VggVDHi1ot6IaUHwEy1nb5eVAXad7xgPzJaKUxTM35DdzABqgneOcnlncZJ-a9pof/s200/usmc.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This is what you actually need.</td></tr>
</tbody></table>
- The thing weighs a ton. Sure I'm used to it, but it still is like carrying a rock in your pocket.
- Because I have so many distracting apps on the phone, its very hard to put this thing down and out of sight. Instead of taking the time to absorb my surroundings and<br />
indulge, I'm just constantly checking my phone.<br />
<br />
I think once you get rid of this obsession to have this single device which does everything, things really open up for you. Individual devices put together (GPS unit, mobile hotspot, iPod, camera) do a much better job than a smartphone ever would.<br />
<b><br /></b><br />
<b>My Setup</b><br />
So, what do I do? I create an account with Ting, order 2 "feature" phones with a battery life of 840 hours (standby), and which weigh like 3 ounces. They have 2 apps I like: One is calling people, and other is texting people. And they do it really well!<br />
<br />
Does this mean I'd never use internet again? Hell no!<br />
<br />
I'm not finished explaining my setup.
On top of these two phones, I got a WiFi hotspot, which can last me 8 or so hours of continuous connection. I already have an iPad, which makes for a really great net browser with its much bigger screen estate (compared to a typical smartphone), and has a battery life similar to the WiFi hotspot -- 8 hrs or so.<br />
<br />
Overall, I have two lasting phones which won't die on me, and with Sprint, would provide me way better coverage than T-Mobile; and a way to browse the net whenever I feel like, without worrying about getting cut off due to battery.<br />
<b><br /></b><br />
<b>Experiment</b><br />
<br />
The experiment is simple. Live without a smart phone. Use whatever else as needed, which means:<br />
- Plan ahead if you want to go somewhere.<br />
- Instead of IMing: Call people, or text them. That'd save you time anyways.<br />
- Use pen and paper for writing notes (I already carry a Slimmy wallet, whose 3rd compartment carries some paper pieces for note taking) -- and export them to TODO / calendar whenever you have access to net etc.<br />
<br />
That's it really. Let's see how it turns out.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-69772581217349208702007-06-26T14:58:00.000+08:002007-06-26T17:04:38.623+08:00Releasing Desktop Flickr Organizer<span style="font-weight: bold;">About<br /></span><br />Desktop Flickr Organizer is a flickr photos organizer right on your own desktop.<br /><br /><br /><span style="font-weight: bold;">Why should you be using it?</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm2.static.flickr.com/1340/621022325_f0a6662489_d.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://farm2.static.flickr.com/1340/621022325_f0a6662489_d.jpg" alt="" border="0" /></a><br />Flickr's web based organizr is slow, updates take time. You can only use it when you're online. DFO on the other hand, stores all the updates offline, and with a simple and intuitive graphical interface, allows you to be way more productive. You'll never dread having to organize sets, edit titles, descriptions and tags for the hundreds or thousands of photos you've accumulated. And you can do all this editing, when you're just trying to kill your time in train, or that long plane trip.<br /><br /><span style="font-weight: bold;">What all does it provide?</span><br /><br />1. Uploading and downloading of photos. You can download selected photos or the entire sets.<br />2. Edit information attached to photos; delete photos from stream.<br />3. Add/Remove tags associated with photos.<br />4. Create new sets, edit set information, add/remove photos from sets, delete sets.<br /><br />More about it on its homepage <a href="http://code.google.com/p/dfo/">http://code.google.com/p/dfo</a>Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com4tag:blogger.com,1999:blog-14817795.post-55551838868744244232007-04-13T18:21:00.000+08:002007-04-13T19:10:47.220+08:00अब तुम हिंदी में ब्लोग कर सकते होकभी सोचा है कितना fundoo होता अगर आप "Haal kaisa hai janaab ka" टाईप करते और वह अपने आप जादू से "हाल कैसा है जनाब का" में convert हो जाता? हमने आज वह संभव कर दिया है अपने नए <a href="http://help.blogger.com/bin/answer.py?answer=58226">blogger transliteration feature</a> से। अब आप अपने विचार, अनुभव, और तो और अपने पसंदिदा bollywood गाने भी publish कर सकते हैं।<br /><br />Transliteration option को enable कर आप हिंदी के शब्द टाईप कर सकते हैं, उनकी अंग्रेजी धव्नी के समान शब्द लिख कर, और अपनी आंखों के सामने आप इन अंग्रेजी शब्दों को देवनागरी में बदलते देखेंगे। और तो और, आपको अंग्रेजी शब्दों से हिंदी शब्दों कि mapping भी नहीं याद करनी पड़ेगी। इसका मतलब आपको WeiRD UpPerCasEing कि चिंता करने कि ज़रूरत नहीं सही हिंदी spelling के लिए। बस वैसे ही टाईप कीजिये जैसे कि आप करते हैं, अपने style में, और गूगल को आपका मन पढ़ने दीजिए। ह्म्म्म, लगभग। हमने जाना कि सबका हिंदी शब्दों को अंग्रेजी में लिखने का अपना अलग तरीका होता है -- इसलिये हमने एक personalization mechanism डाला है जो आपका लिखने का तरीका याद रखता है। एक बार ठीक किया, और अगली बार से आपको वह शब्द सही मिलेगा।<br /><br />हम प्रष्ट्भूमी में machine learning technology इस्तेमाल करके आपको सबसे उत्तम transliteration देते हैं। इस तरह से, आप अपने लिखने और अपने आप को express करने पर ध्यान दे सकते हैं, ऐसी भाषा में जो आपके दिल के पास है। तो हो जाइए creative, इसे <a href="https://www2.blogger.com/hindi">try कीजिये</a>, और <a href="http://groups.google.com/group/blogger-help-publishing/browse_frm/thread/d7581332977ba69f/#">यहाँ discuss कीजिये</a>। हमें उम्मीद है आपको इसे इस्तेमाल करने में उतना ही मज़ा आएगा, जितना कि हमें इसे बनाने में आया है!<br /><br />नोटिस: ये translation लेखक मनीष ने गूगल कि <a href="http://googleblog.blogspot.com/2007/04/now-you-can-blog-in-hindi.html">original post</a> से अपने हिंदी भाईयों के लिए किया है, इस उम्मीद में कि यह useful होगा। यदि इस translation में कुछ गड़बड़ हो तो लेखक क्षमा याचना करता है।Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com5tag:blogger.com,1999:blog-14817795.post-32588436751977015372007-02-02T18:46:00.000+08:002007-02-02T19:22:05.155+08:00New Flickrfs release v1.3.9After some long time, I again had a chance to work upon my favourite filesystem after reiserfs, <a href="http://manishrjain.googlepages.com/flickrfs">flickrfs</a>. This release doesn't add nice cool features, this one is targeted towards robustness, resource utilization and efficiency. The previous versions of flickrfs had various issues, namely:<br /><ul><li>Slow internet connection, time-outs or other errors, would grind flickrfs to a halt; forbidding it to download information about sets, and stream.</li><li>If the number of images grow, in order of thousands, flickrfs would start consuming tons of RAM and eventually swap space; and would literally make my old thinkpad R40 crash.</li><li>Retrieval of full metadata information for each image was time and network resource consuming, and mostly not required.</li><li>Sometimes flickr response would return error, even if the uploading of image succeeds, making flickrfs generate false error report; and confusing the end-user, who would then end up uploading the same image twice. (confusing huh? ;-))</li><li>For developers, a.k.a. me, flickrfs code was huge, all in one file, with lot of boilerplate code sections.</li></ul>This version v1.3.9 of flickrfs tackles all these issues (also see <a href="http://manishrjain.googlepages.com/flickrfs#feature-list">features list</a>):<br /><ol><li><span style="font-weight: bold;">Robustness</span> - Flickr operations, as in, interactions with flickr server are now fail-safe. flickrfs handles the URLError exceptions thrown by the operation, checks its result, and retries the operation multiple times in case of failure. Thus, even if connection is lost temporarily, flickrfs would continue its operations unaffected.</li><li><span style="font-weight: bold;">Efficiency</span> - flickrfs retrieves the sets information in parallel, background threads. Hence, the directory structure is created quickly, allowing users to start working. If some sets couldn't be retrieved the first time, they'd be taken care of when *syncing* kicks in. Secondly, full metadata information of images would only be retrieved when asked for; though they'll always be listed in the directory. Its just like the way flickrfs handles images.<br /></li><li><span style="font-weight: bold;">Resource Saving</span> - flickrfs would now store the image information in Berkeley db database, instead of storing it in memory. Let come millions of images, flickrfs would still consume only negligible amounts of RAM; regarding hard disk space, it would be in 10s of Megabytes; not an issue for today's computers.</li><li><span style="font-weight: bold;">Refactoring of code</span> - Developers, again a.k.a. me, the code is now divided into 3 different files and... wait! hmm.. you shouldn't care about it. Just know that its more beautiful :-).</li></ol>So, <a href="https://sourceforge.net/project/showfiles.php?group_id=151995&package_id=220315&release_id=483298">just give it a whirl</a>. I'm sure you'd like it. More about <a href="http://manishrjain.googlepages.com/flickrfs">flickrfs on its homepage</a>.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com5tag:blogger.com,1999:blog-14817795.post-37876202162474894532006-12-01T03:01:00.000+08:002006-12-03T10:43:51.144+08:00Lost memories : Tech Talk by Guido in GoogleSome time back there was a tech talk in Google given by Guido about Python 3000. I blogged live from the talk, but never came around to publishing it publically. So, here's it, copying as it is.<br />---------------<br />"Hi, I'm Guido. Creator of Python Programming Language. I joined Google last december, and its great working here."<br /><br />Idea behind Python 3000:<br />- Dun design a new language.<br />- Lot of bug fixes, even old ones from 90~91.<br />- Dun become Perl 6<br /><br />Concerns:<br />- backward compatibility<br />- migration of code from 2.x to 3.x<br /><br />Process:<br />- Certain python features from 3.x will be provided to 2.x as well<br />- Development of 2.x and 3.x will go parallel<br />- 2.6 - certainly, 2.7 likely, beyond 2.9 never!<br /><br />Features:<br />- All string unicode by default<br />- dict.keys(), range(), and zip() won't return List<br />- keys() shd have iterator<br />- Drop <> as alias for !=<br />- Redesign I/O library. Currently based upon C I/O library. Core dump in C is fine, but not in Python. Need to know how many bytes are already buffered, while doing I/O (?).<br /><br />NOT going to DO:<br />- change hash, keys to attributes - dict.keys() to dict.keys<br />- have programmable syntax / macros<br />- change look and feel of language<br />- add radical new features (can always do it later!)<br /><br />Migration:<br />- Use pychecker to do an 80-90% job - but can't do it with certainity.<br />- warns about doomed code - like dict.keys().sort() (Note, dict.keys() is no longer a List. Its an iterator. Do I agree with Guido on this? Probably not!).<br /><br />Some operations:<br />- In 2.x -> x//y will return float, not x/y!<br />- In 3.x -> If x and y are Integers: x/y will return float.<br />- Say "if key in dict" rather than dict.has_key()<br /><br /><br />Cleanup:<br />- Kill classic classes. Classic classes will no longer exist in 3000<br />- Exceptions must derive from BaseException<br />- Remove last differences b/w int and long<br />- Scenario: Suppose you have a sub module named sys, whenever, you say "import sys", it will utilize the sub module, rather than the python library.<br />3.x - When you say "import sys", it will always get python library. To utilize your sub module named sys, you need to say "import .sys"<br />- Kill ancient library modules<br /><br />Minor changes:<br />- exec becomes function again<br />- [f(x) for x in S] is a syntactic sugar for list(f(x) for x in S)<br />- kill raise E,arg in favor of raise E(arg)<br />- print no longer a statement!<br />- print x,y,z becomes print(x,y,z)<br />- print >> f, x, y, z becomes print(x,y,z, file=f)<br />- alternative to skip the space/newline:<br />- print (format, x, y, z)?<br />Why not f.print(x,y,z):<br />- some file types dun have print method. they have write method.<br /><br />Inequalities:<br />- x == y. If x is completely diff type than y, return false<br />- x < y. has a random decision based upon location in memory, but its problamatic in jython, where objects can move in memory.<br />- Raise TypeError exception<br /><br />Check PEP245/246 - take an object to the type, so that the return object is either the same type, or at least behaves as that type.<br /><br />References<br />- Read PEP 3100 for a much larger laundry list.<br />- follow the list: python-3000@python.org<br />- artima.com/weblogs<br />- range() no longer returns list, use xrange<br />- bytes and str instead of str and unicode<br />- bytes have some str-ish methods like b1.find(b2), but not others like b1.upper()<br /><br />I/O Stack:<br />- C stdio has problems:<br />- dunno how many bytes are in the buffer<br /><br />Lambda lives!<br />- Last year Guido wanted lambda to die!<br />- lambda has hard core following of people, who tried convincing.<br />- We still dun have a better version, even after an year of trying!<br />- lambda lives!<br /><br />Quotations by Guido (including random jokes):<br />- "I had no life, so I created Python!"<br />- "To start developing a great software, you'd be having no life outside!" (i lost the essence! :()<br />- "I'm going to believe my gut feeling on this, and its getting bigger!"<br /><br />Python Sprint @ Google<br />Aug 21 - 24. Where: NY, and MV<br />What: Hack Python 2.6 and Python 3000, 2.5 bug fixing<br /><br /><span style="font-style: italic;">Update: </span><a style="font-style: italic;" href="http://olaoluwa.blogspot.com/">Ola</a><span style="font-style: italic;"> pointed out that the video is </span><a style="font-style: italic;" href="http://video.google.com/videoplay?docid=-6459339159268485356&q=python+tech+talks">available on Google Video</a><span style="font-style: italic;">.</span>Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com1tag:blogger.com,1999:blog-14817795.post-64902751412559786612006-11-19T09:57:00.000+08:002006-11-19T13:48:13.795+08:00Thousands of mails? You need a powerful Genie!My home doesn't have internet connection. Though this is generally fine, because I spend most of my time in office, enjoying Google's bandwidth and food. But, lately, I had couple of problems with my health leading me to spend time in my room. Its crazy spending time in a dark dungeon (hi friend!) like room, no T.V., no internet connection, with just a standalone computer and myself. Gossip magazines, which btw I am fond of, talking about Brad Pitt, sexy Angelina Jolie and their (almost always?) newly adopted kids is fine for some time, but then it has its limits. It was then that this idea occured to me, <span style="font-style: italic;">of pushing some of my online interests offline. </span>Totally not a new idea; but isn't it true, that you get them, only when you really need them.<br /><br />This was the time when I thought of installing Thunderbird, to download and crank upon the thousands of mails I need to browse through while at work. Thunderbird is open source, and a great mailing client, but my love for <span style="font-style: italic;">easy on RAM</span> command line stuff just doesn't seem to like it. This also removes out Evolution. PLUS, I always wanted to be able to mail my attachments without having to open up firefox, login to Gmail, and waiting for the file to be uploaded to the server. Nautilus send can serve the purpose, but again, its not command line. My first intuition was to use libgmail, and write up a script to send mails. But then, it has limited usage. That's when, the age-old powerful client showed up to my mind, there is Pine, there is Elm, but there is nothing like <span style="font-weight: bold;">Mutt</span>. So, serving my old love for Gentoo (replaced practically by Ubuntu, but it can never even come close in terms of documentation. hmm.. shd I add yet?!), I browsed through its docs to configure Mutt with Procmail, Fetchmail, and msmtp. Took some time, to configure it exactly, but things worked up fine. And I got myself a <span style="font-style: italic;">Genie!</span><span> </span><br /><br />Know that, I had to download 27,000 mails over one long evening and night, when I replaced my mailing solution for Google internal mails, with Mutt. However, somehow the number of mails I get now, just doesn't seem to be enough for what I'm capable of! And talk about it, just a week back, I was complaining about the huge volume of mails I've been getting.<br /><br />Edit, Addition: <span>My initial intuition for Mutt was to just use it for reading mails occasionally, and send attachments. But then, there is something more to it. There is no doubt that web-based clients are portable, but the problem is that almost all of them take their own loading times, when showing mails. Its not that this is wrong or unexpected, but when you have so many mails which you need to just browse for your reference, the time adds up. On the other hand, desktop based clients download these mails in the background, and provide you with a smooth and quick browsing experience. Very productive! So, I have decided to give Mutt a shot as my sole email client. It would be interesting to try it out for a couple of weeks, and see if it suits well. As it goes, I'll keep you posted on my experiences with Mutt.<br /></span>Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com1tag:blogger.com,1999:blog-14817795.post-79370401063398109902006-11-12T06:38:00.000+08:002006-11-12T06:56:37.032+08:00Printing beautiful codeWhile writing beautiful code is an art, printing it beautifully is a frustation. I've long been bugged by this problem, and interestingly Dr. Google has been silent about my query. So, here's my search results for the world:<br />Use enscript, which is installed by default on linux systems.<br /><blockquote>$ enscript --help</blockquote>will show you a whole list of options to choose from. If you're as lazy as me, just rely upon the configuration which I found most useful:<br /><blockquote>$ enscript -2rGC --color -Ec code.c</blockquote>The options passed along with what they do is as follows:<span style="font-style: italic;"></span><br /><ul><li><span style="font-style: italic;">-2</span> : 2 columns. To have single column, you can use -1. Use --columns=NUM, if you want to specify more than 2 columns.</li><li><span style="font-style: italic;">-r</span> : landscape view.</li><li><span style="font-style: italic;">-G</span> : cool fancy looking header, which includes file name, page number and creation time.</li><li>-C : print line number in front of each line.</li><li><span style="font-style: italic;">--color</span> : colored output</li><li><span style="font-style: italic;">-Ec</span> : formatted using C syntax. Though enscript supports various coding syntaxes, which range from Java to Python to Tcl etc., it is not intelligent enough to understand which language is the code written in, so you need to pass this flag. For e.g. To get the code formatted using python syntax, use -Epython. </li></ul>By default, the output will be sent directly to a printer. However, you can retrieve a postscript output by specifying '-p filename.ps' flag.<br /><blockquote>$ enscript -2rGC --color -p testing.ps -Ec code.c</blockquote>That's it! Enjoy code reading!Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-16005914459418806382006-09-20T14:54:00.000+08:002006-09-20T14:58:40.842+08:00Interesting discover about pys60 v1.3.1To store a list of names in the database against a key, I use marshal.dumps(list). I got an interesting error while doing this:<br /><span style="font-style: italic;font-size:85%;" ><br />len(l)<br />128<br />>>> db['check'] = marshal.dumps(l)<br />Traceback (most recent call last):<br /> File "<console>", line 1, in ?<br /> File "C:\system\libs\e32dbm.py", line 145, in __setitem__<br /> self._dbset(key,value)<br /> File "C:\system\libs\e32dbm.py", line 100, in _dbset<br /> self._execute(u"INSERT INTO data VALUES (%d,'%s','%s')"% (hash(key),sqlquote(key),sqlquote(value)))<br />UnicodeError: ASCII decoding error: ordinal not in range(128)</console></span><br /><br />If the length of the list is 127, it stores fine in the database. Strange, huh? No! Doing, a db['check'] = unicode(marshal.dumps()) doesn't work either.<br /><br /><span style="font-weight: bold;">Workaround?</span><br />db['check'] = ';'.join(list)<br />list = db['check'].split(';')Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-35613267760125962252006-09-17T06:53:00.000+08:002006-09-17T07:15:29.603+08:00Symbian, Python and ubuntu<span style="font-size:85%;">My fyp deadline is coming and I didn't work on my fyp for a long time now. Realizing that this is a do or die situation here, I finally started setting up my nokia phone for hacking.<br />So, I borrowed Nokia 6620, which has 2nd edition of s60 (way better for hacking than 3rd). My first aim was to connect btconsole to my laptop, so that I can execute and test my code on the fly. This console creates an interactive shell for you on the pc, and the actual commands are run live on the mobile. Very handy for quick testing.<br /><br />My attempts at getting Windows XP to work with btconsole went all in vain and caused much frustation. "socket not found", to "Connection Refused" errors, I got them all repeatedly. After all this trying, I thot of giving linux a shot (which I love to do anyway). My laptop doesn't have a bluetooth, so bought one for 45USD, quite expensive by very powerful; and that was the only one available at RadioShack anyway. After quite some attempts and struggling through random how to's online, I finally found my way to connect to my mobile through ubuntu (Dapper). Makes sense to document the precious pearls, for myself in future, and for others who won't like to be frustated as well. So, here goes:<br /><br />1. Install bluez-utils, cu, gnome-bluetooth packages.<br /><br />2. Restart ur bluetooth service.<br />$ sudo /etc/init.d/bluez-utils restart<br /><br />Scan for other devices<br />$ hcitools scan<br />This will be able to locate ur mobile, and provide you the address which you need from now on.<br />Also, pair up your device w/ the pc, by going to Tools->Connection->Bluetooth. In options, add a new paired device. It will search and then be able to find ur laptop.<br /><br />3. Check if your mobile supports OBEX based message transfer.<br />$ sdptools browser </span><address><span style="font-size:85%;"><br />... verbose output ...<br />Search for "OBEX File Transfer", and note down the channel (say 3), and rfcomm port (say 3).<br />In /etc/bluetooth/rfcomm.conf, add a section<br />rfcomm 3<br /> {<br /> bind yes;<br /> device 00:02:EE:6D:0E:58; #replace with your address<br /> channel 3;<br /> comment "OBEX File Transfer"<br /> }<br /><br />Also, another section<br /></span></address><pre><span style="font-size:85%;">rfcomm0 {<br />bind no;<br />device 00:02:EE:6D:0E:58; #replace with your address<br />channel 1;<br />comment "Hacking on Nokia 6620";<br />}</span></pre><span style="font-size:85%;"><br />4. Restart bluetooth service:<br />$ /etc/init.d/bluez-utils restart<br /><br />Bind to your mobile<br />$ sudo rfcomm bind /dev/rfcomm0<br />$ sudo minicom -m -s<br />This will open up a configuration editor. The only thing to do is to set the name of the device to connect to as /dev/rfcomm0. Save the new configuration as the default configuration and invoke:<br />$ sudo minicom -m<br /><br />{Shamelessly copied from [1] }<br />Minicom is now ready to talk to your phone! Type in `AT' and the program will respond with an `OK'. Say you wish to make your phone dial a number. Just type: </span><pre><span style="font-size:85%;">atdt 1234567;<br /></span></pre><span style="font-size:85%;"> There are many other AT commands you can experiment with; try googling for say `mobile phone AT commands' or something of that sort!</span><span style="font-size:85%;"> After you have finished with your virtual serial port manipulations, you should run: </span> <pre><span style="font-size:85%;">rfcomm release /dev/rfcomm0<br /><br /></span><span style="font-size:85%;"><span style="font-size:85%;">to `release' the serial-bluetooth link.</span><br /></span></pre><span style="font-size:85%;"> { Copying finished }<br /><br />5. Now, time to connect to btconsole:<br /><br /></span>$ sdptool add --channel=1 SP // add service. Note that this channel is the rfcomm0 channel.<br /> $ sdptool browser local // view the current services if you want to confirm it<br /> $ sudo rfcomm listen /dev/rfcomm0 1 // listen on channel 1, bind to /dev/rfcomm0<br />This command would block the terminal. In other terminal, run<br />$ sudo minicom -m<br /><br />You shd be able to connect to your mobile device now.<br /><br />>>> 2+2<br />4<br /><br />Yeah! Python works. :)<br />This information is a mix match of various howto's + forums. Adding references to the ones that are still open in my window.<br /><span style="font-size:85%;"><br />References:<br />[1] http://pramode.net/articles/lfy/mobile/pramode.html<br />[2] http://discussions.forum.nokia.com/forum/printthread.php?t=63435<br /></span>Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1151194737115153522006-06-25T07:43:00.000+08:002006-06-25T08:18:57.153+08:00Tidbits from Google.comNew set of ramblings on Google:<br />1. Naan at Indian cuisine is hard to bite, their cheese curry is delicious.<br />2. Mexican and Italian food rocks! Nachos with salsa sauce and cheese, and italian vegan pizza<br />3. Google scooter is fast and fun!<br />4. The huge monitors on the desk are productivity boosters.<br />5. Nap on Massage chair is refreshing.<br />6. I have huge desk space, friends in other bldgs are crying for space :D. My bldg totally rocks!<br />7. Showers in restroom, comfortable chairs to sleep off, and electric toilet seats which maintain seat and spray water temperature, so that you feel extra comfortable while answering your natural call ;). I just need my toothbrush now to start living in Google.<br />8. Color printer is useful for printing photos from flickr, and hanging around your desk. Makes environment colorful.<br />9. Ergonomic keyboard and mouse<br />10. The best one: <span style="font-weight: bold;">Starbucks</span> Iced Mocha Frappuccino bottles all filled up in the fridge. Drink as much as you want for <span style="font-weight: bold; font-style: italic;">free</span>! I'm loving it =).<br /><br />Tagline: Google Rocks!Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com2tag:blogger.com,1999:blog-14817795.post-1150074949677286202006-06-12T08:58:00.000+08:002006-06-12T09:24:21.536+08:00Latex snippets: Add image, wrap long lines in tableUsing Latex to create an interim report to submit for my FYP. Its pretty useful, though today I got caught in a weird error. When trying to include an image, using <span style="font-weight: bold;">\includegraphics</span>, it showed me: <span style="font-style: italic;"><br />Undefined control sequence. \includegraphics</span><br /><br />Its pretty obvious now, that this is a valid instruction in Latex. After googling I found out that:<ol><br /><li>You need to add \usepackage{graphicx} in the preamble, for this instruction to work.</li><br /><li>You need to provide complete path of the image file</li><br /><li>Don't include the extension of the image. Latex will search for it automatically. Not sure the sequence, but, I believe its .png, then .gif, ...</li></ol><br />My code:<span style="font-style: italic;"><br />\begin{figure}<br />\centering<br />\includegraphics[width=150mm]{/home/username/report/fuse}<br />\end{figure}</span><br /><br />Another interesting thing was to use tables which can word wrap long lines without cropping the table. I couldn't find any working example of this online, so putting it here, for reference:<br /><br /><span style="font-style: italic;">\begin{tabular}{|c|p{5cm}|p{5cm}|}<br />topic & long line 1 & long line 2 \\end{tabular}</span></span></span></span></span></span></span></span></span></span></span></span>Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com6tag:blogger.com,1999:blog-14817795.post-1149909810244215012006-06-10T11:02:00.000+08:002006-06-12T08:51:24.510+08:00Sergey Brin live[Post delayed. Reason? laziness] So, today I attended my first weekly TGIF (thank God its friday) meet of Googlers here at Mountain View, and saw Larry and Sergey live for the first time. They're pretty cool and fun guys; much younger than people around them. One thing I noticed, Sergey had this european accent when he pronounced some words, which I initially thot, he's just having fun with; though it was constant. Anws, for us, we were quite a bunch of Nooglers, who were given weird caps to wear, and provided free access to unlimited beer ;). ah, it rhymes!Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1148811555629438192006-05-28T17:10:00.000+08:002006-05-29T12:44:23.616+08:00Releasing flickrfs syncLast year november, I <a href="http://tuxmann.blogspot.com/2005/11/announcing-flickrfs_03.html">released flickrfs</a> and its awesome how popular it went in the flickr community. Currently, the <a href="http://flickrfs.sf.net">flickrfs page</a> (replaced by new site) is rated 7/10 by Google PageRank, arnd <a href="http://flickr.com/photos/tags/flickrfs">14,000 photos</a> have been uploaded using this fs, and flickrfs has scored 2,000 downloads. I thank all the users, and especially those who reported back the bugs, and their experiences of using this filesystem, which helped me further improve and enhance flickrfs.<br /><br />Its time now to release a new version of flickrfs, and <a href="http://manishrjain.googlepages.com/flickrfs">here it is</a>. This version includes lots of bug fixes, and <a href="http://manishrjain.googlepages.com/flickrfs#feature-list">new functionalities</a>, which I'm sure you'd like. Here's quick excerpt:<br /><ul> <li>Automatic periodic syncing of flickrfs with online server.</li> <li>Directly link photos from your stream and tags to sets, without downloading</li> <li>Automatic resizing of photos while uploading</li> <li>Robust Unicode Support</li> </ul><a href="http://sourceforge.net/project/showfiles.php?group_id=151995&package_id=192143"> Do try it out!</a><br /><br />P.S. Realized this is my 50th post, now I officially announce myself a blogger! Hope to soon make to the 100th mark :D.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1147974338187186672006-05-19T01:20:00.000+08:002006-05-19T01:45:38.230+08:00Flickrfs continuedAfter soo long that I released the version meta alpha (I like that name), did I find time and interest to continue development. And luv you python, I did quite a lot of bug fixes, as well as 2 new enhancements to <a href="http://flickrfs.sf.net">flickrfs</a>, all in the span of 1 day. I realized that I had almost forgot how beej's flickrapi worked. The prominent bug which caused frob and token authentication failure was originating from that; and took most of my time. That fixed, unmounting became a cakewalk. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4222/1353/1600/resbug.gif"><img align="right" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4222/1353/320/resbug.gif" border="0" alt="" /></a><br />Image resizing was one thing which I wanted to implement right from the beginning. Yesterday that came true. A big obstacle was to find a simple python code, which can resize images. And quite surprisingly, I cudn't find one! The nearest thing was huge Python Imaging Library (PIL), which interestingly chucked out EXIF data from images while resizing. Now that's sad!<br /><br />So, anws, I moved onto a linux solution to the prob. Imagemagick's convert command resized the photos while retaining both the sharpness, as well as the EXIF data. Integrated that as a os.system call in the fs, while allowing a dropback to original size in case the package is not installed. Though, installing it is just a 2-mins job ;).<br /><br />I have posted on the <a href="https://lists.sourceforge.net/lists/listinfo/flickrfs-users">flickrfs-users list</a> to check out bugs before I release this version as a stable one. Do try it out from cvs. And as always, any feedback is welcome :).Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1147840883189923232006-05-17T12:12:00.000+08:002006-05-17T12:41:23.296+08:00Flickr's changed lookI finally went pro on flickr yesterday. Spent 5 hrs recreating all the sets I had to delete because of the 3 set restriction in normal flickr account. Creation of a flash badge showing my photos was the best part of it. It looks cool on my blog. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4222/1353/1600/flickr_logo_gamma.gif.v1.2.gif"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4222/1353/320/flickr_logo_gamma.gif.v1.2.gif" border="0" alt="" /></a><br />Today morning, to my delight, found Flickr's interface revamped. The front page now accomodates 2 photos in a row, and the sets are all moved on to the right. Organize now has tabbed browsing which allows editing of multiple sets together. Secondly, it also allows batch editing of randomly chosen photos. All the photos are by default shown in a horizontal bar located at the bottom. A mouse-over shows the date on which the photo was uploaded. While dragging photos to do batch editing, a nice message pops up on the top right side, with a cool fading effect. To remove the photo, just drag it back to the bar, which automatically fades to act like a trash. <br /><br />There are links on the top, which provide access to any functionality within 2 clicks. The coolest thing I found was Explore->Calendar, which shows the month with the most interesting photos uploaded on that date. End result is an awesome calendar; which I'd surely like to buy if they put it on sale!<br /><br />There is a lot interesting stuff in the new interface. Conclusion, I found the new interface to be much more usable; and obv. has more eye-candies ;). In all, flickr is utilizing AJAX to its max limits; and becoming unbeatable as an online photo sharing service.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1147489155452290132006-05-13T10:50:00.000+08:002006-05-13T13:12:32.716+08:00Call me V"V: Voilà! In view, a humble vaudevillian veteran, cast vicariously as both victim and villain by the vicissitudes of Fate. This visage, no mere veneer of vanity, is it vestige of the vox populi, now vacant, vanished, as the once vital voice of the verisimilitude now venerates what they once vilified. However, this valorous visitation of a by-gone vexation, stands vivified, and has vowed to <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.bioxd.com/imagenes/v4vendetta_trailer.jpg"><img align="right" width="200px" src="http://www.bioxd.com/imagenes/v4vendetta_trailer.jpg" border="0" alt="" /></a>vanquish these venal and virulent vermin vanguarding vice and vouchsafing the violently vicious and voracious violation of volition. The only verdict is vengeance; a vendetta, held as a votive, not in vain, for the value and veracity of such shall one day vindicate the vigilant and the virtuous. Verily, this vichyssoise of verbiage veers most verbose vis-à-vis an introduction, and so it is my very good honor to meet you and you may call me V."<br /><br />Quote from "V for Vendetta". I'd been searching for it since I saw the movie. Thnx Caffetteria <a href="http://caffetteria.blogspot.com/2006/03/verily-verbose-but-fantastic.html">src</a>. <br /><br />My friend just told me that it is available on the official movie website.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1147324806869733132006-05-11T12:17:00.000+08:002006-05-11T13:30:52.830+08:00Gadget Man and Google - 2Staying in Mountain View! After spending hours on craigslisting, and sending hundreds of emails searching for the right house in San Francisco; realized its just not worth the deal. Especially since, Nasa Ames Hostel located in Mountain View came up with WiFi access. The rooms look great, and there are loads of interns staying there. It wd be much more fun being with so many interns arnd.<br /><br /><span style="font-weight:bold;">Gadget#1</span> : Finally bought Sony NC50 headphones. <br />Checked out Bose Quietcomfort2. The headphones were comfortable, noise cancellation was good. But, the price rated was a floated SGD 690/-. Though in US its rated USD 300/-. Conversion comes out to be SGD470/-. A direct 220 dollars difference?!! Completely insane. <br /><br />Sony NC50's comfort and noise cancellation is equally amazing. I tried it in MRT for 2 hrs commute; and it cancelled out the background noises made by the train. I cud hear the person sitting next to me; though the noise from the songs he was playing on his loud mp3 player were completely removed. I checked out in buses, same result. Background noise is gone, sounds from the mobile TV in buses were effectively reduced, though you cud still hear most of it. Thirdly, I checked it out in a gaming arena. Sittig next to an FPS game, and a street fighting game; which produces most of the noise, NC50 cancelled the background noise (mostly from music and cheers) part of it. The loud bangs were audible. Turning on the music a bit higher worked though, and I was able to enjoy the music oblivious to surroundings. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.sonystyle.com.sg/sonystyle/jsp/bigproduct/bigproductdisplay.jsp?MaterialNumber=91272310"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px;" src="http://blog.nikkeibp.co.jp/arena/ipod/archives/1117sony_MDR-NC50.jpg" border="0" alt="" /></a><br />The music quality is simply amazing, satisfying what you expect from a Sony product. I found it to provide better quality to the songs I had, than bose. Though I'm sure there wd be people who wd like to disagree. <br /><br />The downside is that the music loudness is reduced. The music becomes more soft. Though my powerful mp3, Cowon A2 handled it quite well. Secondly, because outside noise is cancelled, so, dun have to maximize volume to counter noise. The volume level which didn't sound loud before, works great now! I'm listen to music at max volume, and found the headphones awesome! No crackling sounds; and music was perfect. Still, recommendation is to try it out with your mp3 player before buying.<br /><br />They still have to be tested on flight. Which I'd most eagerly looking fwd to. <br /><br /><span style="font-weight:bold;">Pros</span>: Great music quality, Effective noise cancellation, Comfortable, long battery life(30hrs), Value for Money (costed SGD 270/-) with no compromise on quality.<br /><br /><span style="font-weight:bold;">Cons</span>: Music gets softer. Check out with your mp3 player. 2nd, Carrying bag is big. Of size of 100 CDs case.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1146978551952520682006-05-07T12:29:00.000+08:002006-05-07T13:09:12.030+08:00Gadget man and GoogleYes! I'm interning at Google Headquarters these summer vacations. From end-May to end-August; staying in San Francisco. Initially thought of staying at Mountain View, but when came to know about Google's WiFi enabled shuttle bus, commuting b/w San Francisco and MV; plans changed. Would be the best use of time to surf/read blogs while on commute everyday.<br /><br />Now about Gadgets, I'm planning to buy. This is going to be a series of posts, about a number of gadgets that I'm going to buy in these 3 months. So, starting with the first one, on top of my mind. <br /><br /><span style="font-weight:bold;"><span style="font-style:italic;">Gadget#1</span></span><br />Since I bought <a href="http://www.cowonamerica.com/products/cowon/a2/">Cowon A2</a>, I had been vaguely thinking about buying better quality headphones to go alongwith. Now that I'd be on an 18-hrs flight from Singapore to San Francisco, decided to buy noise cancellation headphones. The best ones arnd are <a href="http://reviews.cnet.com/Bose_QuietComfort_2_Noise_Cancelling_headphones/4505-6468_7-21165521.html">Bose Quiet Comfort 2</a>, <a href="http://reviews.cnet.com/Sennheiser_PXC_250/4505-6468_7-21258924.html?tag=also">Sennheiser PXC 250</a>, <a href="http://reviews.cnet.com/Sony_MDR_NC50/4505-6468_7-31294268.html?tag=also">Sony MDR NC50</a>. Out of these Sennheiser comes with a torch-size noise cancellation circuitry attached to cord, which is quite cumbersome. Especially, when I've a habit of pulling hard on cords; it may break soon. So, that's out of picture. <br /><br />Sony, and Bose look more convincing. The cords are detachable. So, you can easily turn on the noise reduction, and sleep. Also, can be easily replaced even if broken; quite safe and comfortable. Their noise cancellation circuitry is located inside headphones itself; no extra box to carry arnd. The choice now is based upon the sound quality, and price. As most of the mp3s that I own are medium quality 128kbps, Bose may not sound much diffrent from Sony. The differences are more audible in 256kbps. Though, I still have to test and confirm this. Bose is obv. much more expensive than Sony.<br /><br />Am going to the Bose store at Plaza Singapura, and Simlim Square today to check them out. Stay tuned to know what I bought, and the next gadget on the list :).Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1144658035229611502006-04-10T16:09:00.000+08:002006-04-10T16:33:55.246+08:00Say No to Quota in IITWhile Indian students overseas proudly look back at their world famous university IITs and IIMs, because of their highest intelligence levels; things may not be the same a few years downstream. A 50% quota for students from reserved categories may alter the image of these institutions forever. Till now, only the most intelligent students could make through the tough entrance examinations; but if the bill is passed, being from the reserved categories may provide you easy admission. And the 'eligible deserving' candidates may have to look forward for admission to other universities. <br /><br />As absurd as the bill sounds, it also proves the high voltage politics going on in India. While giving food, shelter, educational and medical facilities to poor/reserved categories is a benefiting action, I fail to understand how providing admission to the most reputed university can help these people. <br /><br />Simply put, a person who can't crack the entrace exam of these institutions, probably is not even suited for the challenging level of education provided by the institutions; and mostly would not be able to cope up with the level of stress that follows on taking up such endeavour.<br /><br />Then the only way out is more quotas. 75% Quota for reserved categories to pass 1st year exams, 80% quota for 2nd year, and progressing to 100% for final year.<br /><br />Such insanity can only be laughed at. And that was my first reaction to the quota system. However, as the bill is being seriously considered by the govt., we need to stand up and raise our voice against it. Most importantly, do not just assume that it would <em>not go through</em>.<br /><br />There is an online petition being made to President against the quota bill. If you care about the Indian Education system a bit, do <a href="http://www.petitiononline.com/No_Quota/petition.html">cast your vote here</a>.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com3tag:blogger.com,1999:blog-14817795.post-1144507379548875072006-04-08T22:31:00.000+08:002006-04-08T22:43:04.313+08:00Microsoft creates iPod (What if that is)We have all seen the simple and nice packaging of iPod by Apple. Now what if Microsoft was to market the iPod. <br /><a href="http://video.google.com/videoplay?docid=36099539665548298&q=microsoft+ipod"><br />Check it out here!</a><br /><br />Microsoft <a href="http://www.ipodobserver.com/story/25957">claims</a> that she herself created the video to share among the packaging team for fun??!!<br /><br />M$, whether you created it or not, is doubtful, but anws, we surely had fun!Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1144393113376036472006-04-07T14:14:00.000+08:002006-04-07T14:58:33.410+08:00Google Query: 403 Access DeniedWhile surfing in NTU, don't be amazed if your favourite blog can't be accessed because it goes www.sexycoder.blogspot.com, and normal Google query instead of showing you the desired results, provides you with a <em>403 Forbidden : Access Denied</em>.<br /><br />In their bid to block access to porn sites, <a href="http://www.ntu.edu.sg/cits/home/">Centre for IT Services or CITS</a> has recently installed a highly inefficient filter in the firewall. This simple <em>word matching filter</em> forbids access to the web page if the url contains any word remotely referring to porn. This includes disallowing a normal "sexy tshirt" query in Google as the <a href="http://www.google.com.sg/search?hl=en&q=sexy+tshirt&meta=">url being accessed</a> contains <em>'sexy'</em>. It even disallowed me to access a paper on sorting algorithm because the <a href="http://xxx.lanl.gov/PS_cache/cs/pdf/0407/0407003.pdf">url</a> had an <em>'xxx'</em> inside it. God forbid if tomorrow CITS decides to go one step fwd, and block access to webpages if their word search filter finds <em>inappropriate</em> words in it.<br /><br />While spending millions of dollors on Microsoft products, why can't CITS buy a decent trustworthy filter to disallow access to porn, and <strong>not to words</strong>. Or if they are incapable of doing so, spend money on hiring hackers who can, and not <em>A grade computer engg. graduates talking financial crap</em> all the time.Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1144205792467201312006-04-05T10:45:00.000+08:002006-04-05T10:56:32.483+08:00little coo-coo sounds prior to..Just realized that I spend 70% of my blog reading time on engadget, which is one of the arnd 40 feeds that I'm subscribed to.<br />Here is the most interesting post I've come across:<br /><br />Thomas Ricker at engadget about Japanese RI-Man, a robot destined to care for elderly:<br /><br />...[useless stuff before punchline]...<br />"This allows it to perform such delicate work as lifting perplexed patients into its arms where presumably it will whisper little “coo-coo” sounds prior to crushing its victim into a liquid fuel beverage – which of course all robots will do once they obtain consciousness, right?"<br /><br />-from <a href="http://www.engadget.com/2006/02/28/ri-man-the-soft-and-cuddly-robot/">engadget</a><br /><br />Now, do I need any more reason to love engadget!Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1143885388502009412006-04-01T17:40:00.000+08:002006-04-01T17:59:50.343+08:00Google Romance?!Now applying advanced text mining algorithms to find the <a href="http://www.google.com/romance/">perfect match</a> for you; Google is surely and quickly monopolizing entire computer world. Google products quickly recaped:<br /><br />Internet: Google Search<br />Web presence (blogging): Blogspot<br />Online word processor: Writely<br />Photos: Picasa<br />Mail : Gmail<br />Chatting: Gmail Talk<br />Desktop: Google Desktop Search<br />Scheduler/Calendar: CL2<br />Multimedia: Google Video<br /><br />What's missing is the release of an operating system by google, perceived to be a modified version of ubuntu -> <a href="http://www.theregister.co.uk/2006/01/31/google_goes_desktop_linux/">Goobuntu!</a><br />And obviously a highly efficient file system for Goobuntu: <a href="http://www.cs.rochester.edu/sosp2003/papers/p125-ghemawat.pdf">GoogleFS</a><br /><br />So, when are you releasing them Google?Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com0tag:blogger.com,1999:blog-14817795.post-1143802026014392752006-03-31T18:26:00.000+08:002006-03-31T18:47:46.036+08:00Processors of future: Exponentially DynamicallyA share from a 20 min discussion with <a href="http://www.ntu.edu.sg/home/asjctay/">Prof. Tay Joc Cing</a> today afternoon.<br /><br /><blockquote>"I believe that by the end of this century, we won't need computers anymore for computation" -Tay<br /><br />"Complex computations will be done by biological beings (read nano particles/molecular machines)" -Tay<br /><br />"In this century, we're going to have such fast computers, where we don't have to worry about the slowness of the language we're going to use. The most complex problem for computers to process today is a problem with exponential space-time complexity. Our processor speeds are increasing linearly. We are progressing from 1GHz to 2GHz to 3, 4, and 5 GHz. So, the problem continues to be exponential. Consider a possibility of a processor whose speed can increase <em><strong>exponentially dynamically</strong></em>, it can solve a problem with exponential space-time complexity in linear time, which depending upon the problem would essentially be a constant.<br /><br />Now, if each bio molecule can process fixed set of instructions, knowing that they grow exponentially and assuming that they can distribute the work to their offsprings, a biological molecular robot which can direct n such molecules to solve the problem, can become our first exponentially accelerating processor." -Manish</blockquote>Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com2tag:blogger.com,1999:blog-14817795.post-1143651989960462522006-03-30T00:46:00.000+08:002006-03-30T09:45:42.740+08:00Cowon A2 source code released<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cowonamerica.com/products/cowon/a2/"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px;" src="http://www.battle.ch/blogpix/pmp/cowon_a2_3.jpg" border="0" alt="" /></a><br /><br />Fascinated by portable multimedia players (PMP), I bought <a href="http://www.cowonamerica.com/products/cowon/a2/">Cowon A2</a> early this month. I'd be doing a comparison analysis later, but, for now, the biggest news. A2 has released its entire <a href="http://eng.iaudio.com/download/gnu/cowon_pmp_a2_src_1.59_GPL.tar.gz">source code</a> under GPL. Though there is no documentation/notice regarding the code on <a href="http://eng.iaudio.com/">company's site</a>, it is speculated to be the code of its firmware 1.59, while latest stable release is 1.61. The code is huge taking 467MB on hdd(80 MB in compressed .tar.gz format), with little comments/documentation, but quite clean.<br /><br />Now, is this release a <span style="font-style:italic;">goodwill</span> sign to OS community, and going to expand to other iAudio products? I don't think so. To answer, the <a href="http://eng.iaudio.com/download/gnu/cowon_pmp_a2_src_1.59_GPL.tar.gz">code release</a> was never officially announced by the company, as the <a href="http://www.iaudiophile.net/comment.php?comment.news.169">post here reveals</a>. Such a big move like this surely needs announcement and publicity, telling and inviting hackers to submit patches using the available source code. Google Desktop Search <a href="http://desktop.google.com/developer.html">SDK</a>, Nokia 60 series' <a href="http://press.nokia.com/PR/200501/978226_5.html">python support</a>, flickr, and many others are examples when the respective companies willingly announced their open source motives to engage the Open Source community. But, cowon's muteness kind of seems to indicate that the decision to release the code may not be entirely the 'open source angel dawning on the company'. And as per GPL:<br /><blockquote>Section 2 b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.</blockquote><br />where 'Program' means the section of the code licensed under GPL.<br />And A2 is based upon GPLed Linux kernel 2.6.5. This section may be a reason enough for the company to release its whole code under GPL. <br /><br />Whether willingly or not, this move has opened up the gates of this amazing player to hackers. Though A2 gets a lots of upgrades by its dedicated developer team, it won't be long before there will be a flood of patches from hackers worldwide, jumping mainstream making cowon a2 able to play 'anything you throw at it'.<br /><br />For me, for now, I'm planning a quick hack to display my name on the screen :).Anonymoushttp://www.blogger.com/profile/07288643628776069793noreply@blogger.com2