Gmail woes..
Srijith has a bad experience with Gmail and decides to switch to Yahoo! As he puts it
What I look for in an email account is reliability more than coolness.
Random musings of a compulsive geek!
Srijith has a bad experience with Gmail and decides to switch to Yahoo! As he puts it
What I look for in an email account is reliability more than coolness.
Posted by Krishna at 9:52 PM 0 comments
This time in IE's favour. ComputerWeekly has an article which says Firefox had more flaws in 2005 so far than IE. As Firefox becomes more widespread, I expect such news stories to rise.
Posted by Krishna at 9:58 AM 0 comments
Looks like Apple will be going with the Sharp LH7A400 SOC initially for its Video iPod, with a future switch to a Intel XScale processor. My only doubt about this rumour is because Video iPod should be able to transfer huge amounts of content quickly, but the SOC's spec shows only a USB 2.0 Full speed Device, and no Firewire!
Posted by Krishna at 4:58 AM 0 comments
We had a anonymous bomb threat call at Bagmane Tech Park today. No, we didn't evacuate, but we had a huge posse of policemen with sniffer dogs searching the length and breadth of the tech park. Fortunately they didn't find anything. Wonder what satisfaction people get by making such anonymous hoax calls!
Posted by Krishna at 5:58 AM 1 comments
2005 IDEA design award winners. Browsing through all 158 products is sure to take lot of your time, but there are quite a few cute products!
Posted by Krishna at 12:18 AM 1 comments
A programmer's view of a baby. Joe Beda writes about his new baby, Anne.
Posted by Krishna at 12:11 AM 0 comments
Seminar by Krishna R. Narayanan
Associate Professor, Dept. of Electrical Engineering
Texas A&M University, College Station
Title: Recent Advances in Coding Theory
Date: 25-7-2005 (Monday)
Time: 4.00 to 5.00 PM; Tea after the talk
VENUE: Auditorium, Texas Instruments India
Bagmane Tech Park, CV Raman Nagar, Bangalore
Prof. Krishna Narayanan is a well known expert in the area of coding theory. His research interests are in
-Modulation and coding (Turbo codes, Low density parity check codes) for wireless communications
-Iterative Processing - Iterative equalization, demodulation etc
-Equalization and coding for Magnetic recording and wireless communications
-Joint source-channel coding
-Hardware implementation of LDPC decoders
Prof. Narayanan will provide an overview of the recent advances in coding theory in this talk. The talk is open to all.
Posted by Krishna at 4:25 AM 0 comments
The Budget Traveller's Guide to Sleeping in Airports. Singapore is the 2005 Golden Pillow Winner and Bombay is the 2005 Poopy Award Winner! Having been to both airports, i tend to agree! :)
Posted by Krishna at 9:57 AM 2 comments
Google goes to China. Google opens up a R&D center in China which will be headed by Dr. Kai-Fu Lee, who joins Google from Microsoft. [Microsoft has sued Google on this hire]
Posted by Krishna at 3:12 AM 0 comments
Posted by Krishna at 5:19 AM 2 comments
Karnataka.com has a watch tower where they track stuff making news in Karnataka. The Bangalore International Airport watch and Bangalore Metro rail watch are very informative. If you need a one-stop information on what has caused these projects to slip so badly, then go read! Heights of red-tapism.
Posted by Krishna at 3:10 AM 0 comments
Just had a look at my visitor stats and the browser stats showed this.
50.00% MSIE
40.00% Firefox
4.00% Safari
2.00% Konqueror
2.00% Mozilla
1.00% Opera
1.00% Galeon
I remember seeing almost 90% for IE almost a year back!
Posted by Krishna at 12:44 AM 0 comments
Posted by Krishna at 11:07 AM 1 comments
HP may be announcing huge layoffs come Monday. Analysts are expecting more than 15000 people to be laid off! Oops. More here and here
Posted by Krishna at 4:28 AM 0 comments
Varnam : Blair is following the Nut-War Terrorism Fighting Design Pattern in which even though we know there is a problem, we just wait till actual humans die
Posted by Krishna at 10:41 PM 0 comments
Posted by Krishna at 5:22 AM 0 comments
Posted by Krishna at 12:00 AM 2 comments
Even though blogging is popular in India, there is a noted scarcity of corporate weblogs. One would expect at least the IT sector to pitch in with some blogs that offer an industry perspective. Wouldn't it be interesting to have Nandan Nilekani or Azim Premji blogging? Or atleast some of the junior executives out there? It's not just in the Indian-owned companies that we see this huge absence, but also in the MNCs that have set shop here in India. Take Microsoft for example, where Scoble has been trying to get every possible product/test group to start blogging. Yet we do not see any groups blogging from the Microsoft India development center. Even Channel9 India is almost non-existent. There may be some Indian companies that encourage blogging and are supportive of it, but i haven't atleast heard of any. Have you?
Posted by Krishna at 12:44 AM 3 comments
First for some basic info. All CDROM discs(both Audio as well as data CDs) are organised as tracks. The CD tracks are numbered from 1 upto 99. The lead-out is considered as a track and is given a predefined number of 0xAA. The CD-Recordable FAQ is an excellent source of information on all these basics.
Now onto how to use Python for extracting all the track information from a CDROM on Win32. To access any device on your Windows machine from Python(and also to use most of the Win32 API calls), you need to install the Python Win32 extensions. ActiveState has excellent info on all the modules that constitute the Win32 extensions. All windows CDROM ioctls are defined in the Windows DDK, so you will want to install that as well.
The CDROM ioctl we are interested in is the IOCTL_CDROM_READ_TOC, which gives information on the Table of Contents(TOC) of the CD. For working with the CDROM device, we need to first obtain a handle for the CDROM device. This could be done using the CreateFile API.
#Assuming your cdrom drive is at E:
hdevice = win32file.CreateFile("\\\\.\\E:", GENERIC_READ, FILE_SHARE_READ, None, OPEN_EXISTING, 0, 0)
We can now issue the ioctl using the DeviceIoControl function in the win32file python module. The DeviceIoControl function expects the size of the output structure that's expected. For this IOCTL, the return value of this call is the entire TOC information as defined by the CDROM_TOC structure. The maximum size of this structure is 804 bytes. This is the space required for 100 tracks(Max 99 tracks + 1 Leadout). That's defined using MAXIMUM_CDROM_TOC_SIZE. Unfortunately the ioctl numbers are not published at the MSDN website, so you have to browse through the DDK include files for these values. The value for the IOCTL_CDROM_READ_TOC ioctl is 0x24000.
IOCTL_CDROM_READ_TOC = 0x24000
MAXIMUM_CDROM_TOC_SIZE = 804
data = win32file.DeviceIoControl(hdevice,IOCTL_CDROM_READ_TOC,"", MAXIMUM_CDROM_TOC_SIZE, None)
The CDROM_TOC structure, which is returned as a string can be easily unpacked using the python struct module. Even though most CDs will have less than 99 tracks, the structure data that is returned will always have 804 bytes. And when you are done unpacking, do not forget to close the device handle you obtained with a CloseHandle call.
win32file.CloseHandle(hdevice)
So using the code snippets above, we can get the various tracks in the CDROM, along with their start offset in the CDROM in the form of Minute-Second-Frame(MSF) information. Note that this will work for both Audio as well as Data CDs.
Posted by Krishna at 11:21 PM 2 comments
I can't figure out what joy these crazy terrorists get by killing innocent civilians. My heartfelt condolences to the families of the deceased.
Posted by Krishna at 9:47 AM 0 comments
Read Cho's interview with Rediff. He talks about the emergency days and also feels that the time is ripe for imposing Emergency.
Today, nobody is aware of his duties in this country. Laws are there to be broken. Rules are there to be violated. Regulations are there to be ignored. That's the present mood of the country.
Why is China advancing at a more rapid rate than us? It is the discipline, which is helping them. We are the most indisciplined of all democracies in the world. Those who were part of JP's movement against corruption are symbols of corruption now, like Laloo Prasad Yadav.Is this the Anniyan Effect?
Posted by Krishna at 10:59 PM 0 comments
There is a recurring theme to today's links : Design simplicity.
Posted by Krishna at 1:52 AM 0 comments
1. Learn to say, "I don't know." If used when appropriate, it will be often.
2. It is easier to get into something than it is to get out of it.
3. If you are not criticized, you may not be doing much.
4. Look for what is missing. Many know how to improve what's there, but few can see what isn't there.
5. Viewgraph rule: When something appears on a viewgraph (an overhead transparency), assume the world knows about it, and deal with it accordingly.
6. Work for a boss with whom you are comfortable telling it like it is. Remember that you can't pick your relatives, but you can pick your boss.
7. Constantly review developments to make sure that the actual benefits are what they are supposed to be. Avoid Newton's Law.
8. However menial and trivial your early assignments may appear, give them your best efforts.
9. Persistence or tenacity is the disposition to persevere in spite of difficulties, discouragement, or indifference. Don't be known as a good starter but a poor finisher.
10. In completing a project, don't wait for others; go after them, and make sure it gets done.
11. Confirm your instructions and the commitments of others in writing. Don't assume it will get done!
12. Don't be timid; speak up. Express yourself, and promote your ideas.
13. Practice shows that those who speak the most knowingly and confidently often end up with the assignment to get it done.
14. Strive for brevity and clarity in oral and written reports.
15. Be extremely careful of the accuracy of your statements.
16. Don't overlook the fact that you are working for a boss.
* Keep him or her informed. Avoid surprises!
* Whatever the boss wants takes top priority.
17. Promises, schedules, and estimates are important instruments in a well-ordered business.
* You must make promises. Don't lean on the often-used phrase, "I can't estimate it because it depends upon many uncertain factors."
18. Never direct a complaint to the top. A serious offense is to "cc" a person's boss.
19. When dealing with outsiders, remember that you represent the company. Be careful of your commitments.
20. Cultivate the habit of "boiling matters down" to the simplest terms. An elevator speech is the best way.
21. Don't get excited in engineering emergencies. Keep your feet on the ground.
22. Cultivate the habit of making quick, clean-cut decisions.
23. When making decisions, the pros are much easier to deal with than the cons. Your boss wants to see the cons also.
24. Don't ever lose your sense of humor.
25. Have fun at what you do. It will reflect in your work. No one likes a grump except another grump.
Taken from http://www.ccgmedia.com/article_william_swanson.php
Posted by Krishna at 9:14 PM 0 comments
Absolutely brilliant! An application of google maps which shows bus stops, paths and even current bus locations! Link
Posted by Krishna at 9:35 AM 1 comments