Saturday, August 7, 2010

Why I don't use Hotmail or Microsoft Windows Live Mail...

First of all, Microsoft sux big time... instead of calling "Hotmail" or "Live mail" or "Microsoft mail", it is called "Microsoft Windows Live Mail"... sux big time.

I just went to mail.live.com and tried to login...
It does not use HTTPS even for login. It is worst than Yahoo email!!!
There is a small link at the end of the page in tiny fonts "Use enhanced security(SSL)".

In 2010, why login page is not secure????

I replaced HTTP with HTTPS in the inbox screen, and got "connection timeout" message.

Both Microsoft mail and Yahoo mail attach advertisement at the end of each email you send from those accounts, how are you supposed to send professional emails from their account? These companies are just pathetic!

I can't tolerate Yahoo mail or Microsoft mail...
These companies are 10 years behind in terms of security, features, and user experience.

I wish these two companies would have merged together back in 2006 and died together.

Microsoft mail is for absolute fools and totally illiterate people...

Why I no more use Yahoo Mail

Ten years back, yahoo was best!
I used to use Yahoo for everything...and it had a wide variety of services - email, news, groups, photo, calendar, ...

But with today's standard it is pathetic.

I was using Google for search since 2000, so when I got an opportunity to get a gmail account in 2004, I didn't waste a minute. But it was in 2006 when I finally moved to gmail as primary email account. And after that the gap between gmail and yahoo mail has widened a lot.

As of today, Aug 7, 2010, there is no way to access emails in my yahoo inbox securely. Gmail has been offering this for years. Let me just put the facts...

Yahoo Mail:
1. Secure Login to desktop browser : always - good
2. Secure Access to emails on a desktop browser: not possible - sux big time
3. Secure Login to mobile browser (iphone safari): not possible - sux big time
4. Secure Access to email from mobile browser: not possible - sux big time
5. Iphone mail client secure login: not possible - sux big time
6. Iphone mail client secure access to emails: not possible - sux big time

Gmail:
1. Secure Login to desktop browser : always - good
2. Secure Access to emails on a desktop browser: always - good
3. Secure Login to mobile browser (iphone safari): always - good
4. Secure Access to email from mobile browser: always - good
5. Iphone mail client secure login: always - good
6. Iphone mail client secure access to emails: always - good

Of course, there are more than one hundred reasons other than those listed above why I no more use yahoo mail. Like...
  • No distracting ads: gmail yes, yahoo sux
  • No flash ads: gmail ys, yahoo sux
  • More space for emails: gmail yes, yahoo sux
  • No ads on email front page: gmail yes, yahoo sux
  • More space for your emails in the browser: gmail yes, yahoo sux
  • Fast web client: gmail yes, yahoo sux
  • No clunky web interface: gmail yes, yahoo sux
  • Simple interface: gmail yes, yahoo sux
  • Check email in outlook: gmail yes, yahoo sux
  • Forward your emails to other account: gmail yes, yahoo sux
  • Access emails using POP3 and IMAP: gmail yes, yahoo sux
  • First one to give GBs of space and keep updating UIs: gmail yes, yahoo sux
  • Does not attach ads at the end of the email: gmail yes, yahoo sux
Yahoo mail is a big time sucker...

Yahoo mail is for fools and illiterate people...

Saturday, April 3, 2010

A good post on building web apps for iphone

http://building-iphone-apps.labs.oreilly.com/ch02.html

Saturday, March 27, 2010

C/C++ Debugging in Visual Studio 2010

This is a great resource:

http://www.highprogrammer.com/alan/windev/visualstudio.html

Cygwin/X gvim font problem

Gvim under cygwin/X was looking weird with tiny font.

I added following line in .gvimrc file and it solved the problem:

set guifont=Lucida\ Sans\ Typewriter\ Semi-Condensed\ 12

Sometimes even that gives ugly text, then try this (which is not that good, but better than others):

set guifont=LucidaTypewriter\ 13

This one looks much better:

set guifont=Bitstream\ Vera\ Sans\ Mono\ 13

Terminals for Cygwin

Following terminals don't need X server:

1. Cmd - the default where bash, or zsh shell runs in the Windows Command Window. The biggest problem with this is you can't stretch it horizontally without going into options. CTRL+Z does not work.

2. mintty - this is so far best for me. good font size, cut-n-paste, color controls, stretchable in all directions. It is based on putty. CTRL+Z works!

3. puttycyg - I haven't tried.


Terminals which need X server:

1. xterm - no scrollbar, no cut-n-paste, font too small.

2. rxvt - no cut-n-paste, font too small.

3. urxvt - no cut-n-paste, font too big.

Zsh: _main_complete: function definition file not found

If you get an error similar to this one:

zsh:5: _main_complete: function definition file not found

then check for the value of FPATH or fpath and make sure the paths in those variables are valid.

Cygwin: Unable to remap

If you try to launch cygwin processes (for example, zsh) and you get this error:

24295 [main] zsh 3104 C:\cygwin\bin\zsh.exe: *** fatal error - unable to remap C:\cygwin\lib\zsh\4.3.2\zsh\zle.dll to same address as parent(0xAB0000) != 0xC10000 12 [main] zsh 2020 fork: child 3104 - died waiting for dll loading, errno 11

Then follow the following steps:
1. Make sure rebase package is installed (use cygwin setup utitlity)
2. Exit all cygwin processes. Verify in Task Manager that there are no cygwin processes running.
3. Run 'cmd' from the run menu (Windows Key + R). Go to the cygwin bin directory and run ".\ash.exe".
4. Run "./rebaseall". This will take some time.

Friday, March 19, 2010

Change default settings of a Microsoft Word document

Microsoft Word 2007

To change any default settings of a new document, change the default template located here:

%APPDATA%\Microsoft\Templates\Normal.dotm

Open in Microsoft Word and save it back. If it gives error, then save it Normal1.dotm and use Windows Explorer to rename it back to Normal.dotm.

Wednesday, March 17, 2010

More date and day functions


#include "stdio.h"
#include "stdlib.h>"
typedef enum DayOfWeek_ {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY} DayOfWeek;

// Returns 1 for a leap year, otherwise 0
int isLeap(int year)
{
int leap = 0;
if(year % 4 == 0) {
leap = 1;
if(year % 100 == 0) {
leap = 0;
if(year % 400 == 0) {
leap = 1;
}
}
}
return leap;
}

int dateToInt(int year, int month, int dayOfMonth)
{
static int cumDaysInMonth[12] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
int num = (year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400;
num += cumDaysInMonth[month-1] + dayOfMonth;
if(isLeap(year) && month >= 3)
num++;
return num;
}

int diffDate(int y1, int m1, int d1, int y2, int m2, int d2)
{
int num1 = dateToInt(y1, m1, d1);
int num2 = dateToInt(y2, m2, d2);
int diff = abs(num2 - num1);
printf("Diff days (%d, %d, %d) - (%d, %d, %d) : %d\n", y1, m1, d1, y2, m2, d2, diff);
return diff;
}

char *getDayOfWeekName(int dayOfWeek)
{
switch(dayOfWeek) {
case 0: return "SUNDAY";
case 1: return "MONDAY";
case 2: return "TUEDAY";
case 3: return "WEDNESDAY";
case 4: return "THURSDAY";
case 5: return "FRIDAY";
case 6: return "SATURDAY";
}
// Error condition
return "ERROR";
}

int getDayOfWeek(int year, int month, int dayOfMonth)
{
int num = dateToInt(year, month, dayOfMonth);
int dow = num % 7;
printf("DayOfWeek (%d, %d, %d) : %s\n", year, month, dayOfMonth, getDayOfWeekName(dow));
return dow;
}

void printMonth(int year, int month)
{
static int daysInMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static char dayChars[7] = {'N', 'M', 'T', 'W', 'H', 'F', 'S'};
int firstDow = getDayOfWeek(year, month, 1);
int i;
int dm = daysInMonth[month-1];
if(isLeap(year) && month == 2)
dm = 29;
for(i = 0; i < dm; i++)
printf("%3d", i+1);
printf("\n");
for(i = 0; i < dm; i++)
printf("%3c", dayChars[(firstDow + i) % 7]);
printf("\n");
}

int main()
{
printMonth(2010, 3);
printMonth(2000, 5);
printMonth(2203, 5);
getDayOfWeek(2010, 4, 20);
getDayOfWeek(2000, 8, 19);
getDayOfWeek(2203, 10, 5);
diffDate(2203, 11, 13, 1923, 5, 6);

return 0;
}

Tuesday, March 16, 2010

Converting a date to dayOfWeek

Here is the full code in C


#include "stdio.h"

typedef enum DayOfWeek_ {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY} DayOfWeek;

// month is 1 to 12
int getDayOfWeek(int year, int month, int dayOfMonth)
{
int m[12] = {4, 0, 0, 3, 5, 1, 3, 6,2, 4, 0, 2};
int dayOfWeek = ((year-1) * 5 / 4 - 5) + m[month-1] + dayOfMonth;
int leap = 0;

if(year % 4 == 0) {
leap = 1;
if(year % 100 == 0) {
leap = 0;
if(year % 400 == 0) {
leap = 1;
}
}
}
if(leap && month >= 3)
dayOfWeek++;

return (dayOfWeek % 7);
}

char *getDayOfWeekName(int dayOfWeek)
{
switch(dayOfWeek) {
case 0: return "SUNDAY";
case 1: return "MONDAY";
case 2: return "TUEDAY";
case 3: return "WEDNESDAY";
case 4: return "THURSDAY";
case 5: return "FRIDAY";
case 6: return "SATURDAY";
}
//
return "ERROR";
}

int main()
{
printf("dayOfWeek(2000, 3, 17)=%s\n", getDayOfWeekName(getDayOfWeek(2000, 3, 17)));
printf("dayOfWeek(2000, 1, 15)=%s\n", getDayOfWeekName(getDayOfWeek(2000, 1, 15)));
printf("dayOfWeek(2010, 3, 17)=%s\n", getDayOfWeekName(getDayOfWeek(2010, 3, 17)));

return 0;
}




Enjoy

dosbox and qbasic on ubuntu

sudo apt-get install dosbox
wget http://download.microsoft.com/download/win95upg/tool_s/1.0/w95/en-us/olddos.exe
dosbox
mount c /home/username/QBasic/
C:
QBASIC


1) Go into DosBox, type:
Z:\>config -writeconf dosbox.conf
and hit enter.
2) Exit DosBox, and open the dosbox.conf file that is now in the dos folder you just created.
3) Go to the very end and add:
mount c ~/dos


References:
  • http://ubuntuforums.org/showthread.php?t=608535
  • http://lovehateubuntu.blogspot.com/2008/04/dosbox-on-ubuntu.html

Thursday, March 4, 2010

Gmail Trick: multiple email addresses for the same account

Did you guys know that your one gmail account has infinite number of equivalent email ids? For example all of the following email addresses represent the same email account:

hundred.........THREADS+second100@gmail.com
hundredthreads@gmail.com


Here are the rules:
1. Dots are ignored.
2. It is case-insensitive.
3. Anything after a + sign is ignored.

Gmail rocks!

Monday, March 1, 2010

zsh completion system broken for subversion/svn

I get this error:

% svn add
_arguments:comparguments:303: invalid argument: ARG


Here is a fix for this:
https://bugs.launchpad.net/ubuntu/+source/zsh/+bug/279545

The solution from the above link is:
The problem is in the subversion function file which I found in /usr/share/zsh/4.3.4/functions on my system. The minimal fix is to replace every occurrence of "/ arg/:arg:" with "/ (arg|ARG)/:arg:" in /usr/share/zsh/4.3.4/functions/Completion/Unix/_subversion; see attached patch.

Copy this file to ~/.zsh/functions and modify the file.

Also in .zshrc add the following line:
fpath=($HOME/.zsh/functions /usr/share/zsh/site-functions /usr/share/zsh/4.3.4/functions)

Cracking Programming Interviews

Whether you are applying for internship or part time job or full time job, you need to do some practice before you go for phone interview or on-site interviews.

Here are some of the resources for cracking programming interviews:

Basic
Intermediate

Adavanced

- One Object Language - C++, Java or C# and its design patterns
  • For Java: Effective Java 2nd Edition

- Computer Networks (4th Edition) (Hardcover) ~ Andrew S. Tanenbaum
  • Distance vector .vs. dijkstra’s algorithm.
  • Count to infinity problem.
  • TCP internals: congestion detection, control, sliding window, cumulative acks, etc.
  • What is IP tunneling?
  • When you type "www.google.com" on your browser : what all happens under the hood ? What are the various hops and translations that happen?

- Modern Operating Systems (3rd Edition) (Hardcover) ~ Andrew S. Tanenbaum
  • Scheduling algorithms
  • Paging algorithms/concepts
  • Multi-threaded programming: deadlock detection .vs. avoidance.
  • how to implement semaphore using mutex ?
  • reader/writer problem
  • producer/consumer problem

- Computer Architecture:
  • What is pipelining? RISC architecture.
  • What are some of the pipelining hazards : data hazard etc. how to get around them?
  • Pipeline scheduling algorithms: scoreboarding, tomasulo’s algorithm etc. just a high level understanding and some internals.
  • Shared memory architectures : how to maintain a distributed & shared memory cache?


More Advanced

- Mathematical Prolems - Project Euler - http://projecteuler.net/


References:


I hope this helps you!

Friday, February 26, 2010

Creating a patch and using a patch

Create a patch:
diff -Naur oldDir newDir > patchfile

Use a patch:
cat patchfile | patch -p1

Delete all unread messages in the inbox of gmail

http://www.emaildiscussions.com/showthread.php?t=56319

Linux has huge privacy issues

I knew for long back, but this hit me just now. In Linux, anybody can list processes of any other user. This is a big privacy issue. What is worse is that, you can even see the arguments passed to each of those commands.

Sunday, February 14, 2010

iTunes crashed!

I thought it would be interesting to post a picture of how it looks when iTunes crashes. Here is a picture of it:

Saturday, February 13, 2010

Shazam helped me find that music I was looking for all these years

Shazam is awesome!

My interest in Hip-hop started when I watched the movie "Save the Last Dance". I had listened to hip-hop music earlier, but I didn't like them. But this movie had some really good songs, which I actually liked. I listened to some more hip-hop songs, but none were like the ones in the movies. I tried to get the full songs for the songs in the movie by searching for "Soundtracks of Save the Last Dance", but didn't get anything on Google and I gave up years ago. But that desire was still there to get the original and complete version of these songs.

Here is a clip from the movie with my favorite song (this video might get deleted from youtube):
http://www.youtube.com/watch?v=m-smmusd9qg

Finally, Shazam helped me track down this song to its original and full version:
http://www.youtube.com/watch?v=6auk1TkGtVQ

Shazam rocks!

Friday, February 12, 2010

Why does Apple makes nice looking crippled products

Mac, iPod, iPhone, and now iPad.

According to Apple, iPad is supposed to be the best device for browsing Internet, watching TV shows, etc.

It can't display any shows from hulu.com, from Amazon Video on Demand, from ABC TV videos, ... the list is endless. Apple has made iPad crippled deliberately so that you buy your videos from Apple's iTunes store.

iPad would have been a great device to use Skype to do video chat. Unfortunately, it does not have a webcam. It does not even have a microphone. Even a $299 netbook will have all these.

How do you send messages on iPad - be it text chat, voice chat, video chat, email, facebook, whatever... no video input, no audio input, and for text input - no keyboard, all there is a on-screen keyboard. There is not even a digital pen or stylus so that you can just write on the screen. All netbooks are equiped with keyboard, mic, and webcam for any kind of input. And all tablet PCs support writing on the screen. Effectively, iPad is not for taking input, and mostly a viewer.

Even as a viewer, its capability is limited. It can display photos, music, and videos only from iTunes software and store. It can't display photos or videos from your SD card, or xD card or whatever card you have. Most netbooks and Windows laptops can read the card from your digital camera or camcorder or cell phone. iPad is useless for online music and videos since it doesn't have flash. For stored music and videos also, it can play only limited formats.

I have to say a $299 netbook is a lot lot lot better than $499 iPad. And that netbook will have 160 GB harddisk intead of 16 GB harddisk, plus software-wise it can do everything a PC can do.

iPad is just one more crippled product from Apple.

Monday, February 1, 2010

Printing on a remote printer through SSH forwarding

Scenario:
The printer I want to print to is on a subnet and my laptop is connected to a wireless network which is outside of that subnet. The only way to access any machine on the subnet from my laptop is through SSH to the gateway server.

Steps:

Forward ports:
  • Windows+Putty: Forward local port 9100 to 172.19.0.28:9100 (This is IP address of our pritner, select the IP address of your printer).
    Now connect through Putty to the gateway machine.
  • Linux: ssh -L 9100:172.19.0.28:9100 username@gateway_machine


Laptop with Windows (I have listed the printer which we have, you should select driver for your printer):
  • Control Panel\Hardware and Sound\Devices and Printers
  • Add a Printer
  • Add a Local Printer
  • Create a new port
  • Type of port: Standard TCP/IP Port
  • Hostname or IP Address: localhost , Port name=PrintSrv
  • Select Custom Printer
  • Select driver for 'Ricoh Aficio SP 8100 DN PCL'
You should be able to print from your Windows laptop.

I don't know how to do the later part of the setup on Linux. If you know, please let me know and I will post here.

Searching for a ruler in this high tech world

I needed to measure the size of my photos for some government documents. I couldn't find any ruler in my house, no ruler in the office. I checked with office secretary, she had a ruler, but the markings were gone. This is where I found a good ruler:
http://www.vendian.org/mncharity/dir3/paper_rulers/

This is the one I used:
http://www.vendian.org/mncharity/dir3/paper_rulers/UnstableURL/ruler_foot.pdf

Finally, I was able to find a ruler in this high tech world, but only on Internet.

Sunday, January 31, 2010

Google tasks for iPhone completes my workflow

Four services from Google:
  • Email
  • Calendar
  • Contacts
  • Tasks
Completes my workflow. All available through any browser on any computer and all are available as apps for iPhone. Email, Calendar and Contacts are native apps on iPhone and they get synced by Direct Push from MS Exchange Server at Google. Tasks is a webapp - hopefully Apple or Google will come with a native app with Direct Push in near future.

iPhone and Google Sync - Sync emails, calendar and contacts over the air

Syncing over the air should have been directly through iTunes using wi-fi. But it is not. Instead Apple was charging $99 a year with MobileMe service for providing over the air sync for calendar, contacts and emails. Thanks to Google, that I am able to sync my calendar, contacts and emails over the air that too with push technology.

My previous setup was like this:
Email: Google mail through iPhone's mail app (I think it was using IMAP) with 15 min polling.
Contacts: Outlook, syncing via USB+iTunes.
Calendar: Outlook, syncing via USB+iTunes.

Email was OK, Contacts was also OK. But Calendar, every time I changed something in my Laptop, I needed to sync iPhone with USB cable which was a big pain in the ass.

Current setup is as follows:
Email, Contacts, Calendar: Google through MS Exchange server with Direct Push.
Contacts: Outlook, synching via USB+iTunes (I will soon move to Google completely for this)

Now my iPhone syncs with my Google calendar. I already transferred my calendar from outlook to Google calendar. Google calendar is not as sophisticated as Outlook, but it has everything I need for the time. In fact, now I can edit my calendar from any computer, not just my laptop.

Email is also better because of the Direct push.

Saturday, January 30, 2010

Google calendar import is screwed up

Google calendar import is screwed up.

The only way it supports importing events from outlook is through CSV files. I did that and it added more than a thousand events. All the events which were marked repeated, it added individual entries without repetition, instead of a single event with repetition.

That sux!

I had to clear all my events in the calendar and start from scratch.

Wednesday, January 27, 2010

iPad

I can have photographs in my email.

You can change the background of the home screen.

It can do slideshow.

You can select a photo.

It has iTunes.

It has a calendar also.
I can look it as a Day view, week view or list view. Very nice calendar.

It has a maps app too. It has got a satellite view.

The only things which it is missing are:
  • a camera,
  • 16:9 support,
  • Flash support,
  • multitasking,
  • SD card slot,
  • HDMI or high-res video output support,
  • USB ports,
  • GPS

Sunday, January 24, 2010

Firefox: bookmark with smart keyword makes searching websites smart

Here is what I do:
To look for the word 'mythology' on www.thefreedictionary.com, I type "d mythology" in the url box.
To search 'python tutorial' on google.com, I type "g python tutorial" in the url box.
To go to google.com, I type 'g' in the url box.

Same way I have 'smart keywords' setup for many search websites. Here is the current list:
a - www.amazon.com
b - www.bing.com
d - www.thefreedictionary.com
g - www.google.com
gm - maps.google.com
gn - news.google.com
w - en.wikipedia.org

To add 'smart keywords' for a search website:
1. Go to the search website.
2. Right click on the search box and choose "Add a Keyword for this Search..."
3. In the "New Bookmark" dialog box, enter a name and a keyword. For example for www.google.com, I entered name = "Google", keyword = "g". This keyword will be used as a shortcut to search on the search website.

That's it!

Windows 7: metadata for files should be both outside of the file and inside the file

Windows Explorer in Windows XP allowed adding metadata like title, keywords, comments, etc to any file including doc, pdf and text files. The metadata added using explorer was stored in the NTFS file system as part of the attributes of the file, not in the file. There were many file types like PDF, DOC, MP3 which had attributes in the file. Windows explorer was able to read these metadata information for many file types like MS office files and audio files.

In Windows 7, Microsoft removed metadata being stored in the NTFS file system. Metadata can be stored only inside files. That means no metadata for TXT or RTF files. The viewer can't add metadata to PDF files since adobe doesn't like viewer editing PDF files.

I liked the Windows XP style.

Microsoft should provide a way for users to add additional information about a file outside of the file name and its contents.

Wednesday, January 20, 2010

Microsoft didn't get it... again...

One of the complaints from some geeky people (mostly people with Unix/Linux background) was that Windows asks for lot of confirmations. Personally, confirmations are annoyance most of the time, but some time they save your day. And there should be a balance - too many confirmations is bad and too less confirmations are also bad.

Microsoft removed confirmation from where it should not have removed. And it didn't remove confirmation from where it should have removed.

When you want to delete a file or a folder (basically moving it to recycle bin), then it asks for confirmation. Bad design decision. There is absolutely no need of confirmation here. If you felt that it was a mistake to delete the file, then you can always get it back from the recycle bin.

There is no confirmation for shutdown or restart or logoff. If you click on them accidentally, all your unsaved work and open windows are gone! Bad design decision! It has happened a few times to me. I am always in a rush, so sometimes I do click on the wrong button and moreover with a touch-pad an accidental click is not uncommon. I definitely need a confirmation box here. If Microsoft wanted to woo those tiny user base of geeky people, then Microsoft should have at
least provided an option to enable confirmation for shutdown, restart and logoff.

Microsoft missed the boat again!

Tuesday, January 19, 2010

Microsoft is the biggest source of bad practices on Windows

How many Microsoft employees work from Administrator account?

How many Microsoft software require Admin access for installation, even though they don't have to.

How many Microsoft software write in Windows folder?

How many Microsoft software install hidden components and drivers without your knowledge?

Microsoft leads all companies when it comes to bad practices on Windows.

Windows 7: Letting device drivers be installed by a standard user - very bad idea

I just found that a standard user in Windows 7 can install device drivers. This is really a bad idea. Any malware or unfriendly software can install a bunch of device drivers which can screw your computer.

Somehow Google managed to install two video capture devices on my computer without my knowledge when I was working in a standard account. And I was able to uninstall these video capture devices from the standard account.

Can somebody install a key-logger device from a standard account?
If so, then that will be a real bummer.

Microsoft should implement this as a privilege - "device driver installation privilege" - which can be denied or given to any standard user or there should be a group called "Device Driver Operator" and only users who are member of this group can install device drivers.

I will like to set my standard account so that my standard account can't install any device driver or plugin. So far I haven't found a way to achieve this.

Google is intalling malware and corrupting my system

Google has been installing couple of drivers and software on my computer without my knowledge.

Google Update plug-in in Firefox
Google Talk Plugin
Google Video Adapter 0 video capture device
Google Video Adapter 1 video capture device

God knows what else Google has installed on my computer.

Here is what I found after some investigation:
The root of all these is that I wanted to try Google Chrome. So I installed Google Chrome. With Google Chrome, Google silently installed a Firefox plug-in called "Google Update". While I was browsing using Firefox, I clicked on some link and "Google Update" plug-in installed "Google Talk Plugin" silently. And with Google Talk Plugin, the two video capture devices also got installed.

I don't know but there could be more hidden drivers and software installed by Google on my computer.

This leads to an interesting conclusion - If Google can install so many software on my computer without my knowledge, then probably anybody can install software on my computer without my knowledge.

Monday, January 18, 2010

Applications and installers should not require admin privilege

Recently, I have seen new class of applications which make more sense - these applications can be installed and used by a standard user without UAC pop-up. Some of these applications are:

Amazon Kindle for PC - installs in "C:\Users\user1\AppData\Local\Amazon\Kindle For PC\application"
Google Chrome - installs in "C:\Users\user1\AppData\Local\Google\Chrome\Application"
Microsoft Live Mesh - installs in "C:\Users\user1\AppData\Local\Microsoft\Live Mesh"

Any standard user on Windows 7 (and I suppose on Windows Vista and Windows XP too) can install these applications and use them. The installer does not ask for admin password (no UAC pop up). And the application runs smoothly without and UAC pop-up.

Other apps which come to my mind in this category are PortableApps.com apps.

There is no reason why other applications should require admin password unless they are installing a device driver.

Sunday, January 17, 2010

VLC Media Player - the best media player

  1. VLC hotkeys do not work on playlist window.
  2. How to keep vlc always running.
  3. VLC's interface is ugly and its skins do not have the functional interface of the native interface. How to improve vlc interface or make its look cooler while keeping the functionality?
  4. How do you get the menubar in VLC with skin?
  5. When VLC is running with skin, VLC does not appear in the taskbar and also not in ALT+TAB list - a huge problem.


Problem:
Sometimes VLC hotkeys do not work in skins.

Solution:
Currently hotkeys do not work in playlist window. In skins, if the focus is on the playlist, then hotkeys wouldn't work.



VLC's skin mode and skins have many problems and give a frustrating experience. The native interface of VLC is the "least worst option".

Control iTunes on your computer from your iPhone remotely using Remtoe app

Get this app:

http://www.apple.com/itunes/remote/

How to setup:

http://support.apple.com/kb/HT1947

Troubleshooting:

http://support.apple.com/kb/TS1741


The only problem I faced during first time setup was some firewall settings - iTunes was allowed on public network, but not on private network. I just allowed it on both networks and the whole setup worked like a charm.

Once first time setup has been done, next time you want to use iPhone to control the iTunes on your computer, follow following steps (this is the only sequence of steps which has been working for me consistently):
  1. Close iTunes on your computer.
  2. Launch 'Remote' on your iPhone.
  3. Start iTunes on your computer within a few seconds.
  4. 'Remote' on the iPhone should show the iTunes library on the computer.
  5. In the Settings of 'Remote' on the iPhone, set "Stay Connected" = ON.
Once 'Remote' gets disconnected from 'iTunes', you need to restart iTunes and Remte app both which is a pain in the ass. Even if you keep Remote app running on iPhone, it will disconnect from iTunes after a some idle time. Even with the setting "Stay Connected" = ON.

This feature look cool, but I am not how much useful this feature will be since I don't have a desktop (I have a laptop) and I play my music by connecting speakers to my iPhone. What I needed was a way to control my iTunes on iPhone from my laptop. There are some solutions out there, but they require jailbreaking, but I have been avoiding jailbreaking because that's a whole new beast - lot of features, apps and security issues.

VMWare Workstation way better than VirtualBox

I have been using VirtualBox for last few months, but I always felt it was missing the finishing touch. So finally, I decided to try VMware Workstation. I immediately felt at home.

Here is something which I noticed immediately:
  1. VMware Unity is far better than VirtualBox Seamless. Unity actually integrates windows in the guest and host OS pretty well - a single task bar for all windows and alt+tab switches between all the windows. Not with VirtualBox. VirtualBox Seamless seems to be a feature added for the sake of list of features, but is actually useless while VMware's Unity is actually useful.
  2. VMware supports 3D graphics. Aero works in the guest OS. In fact, Windows Experience Index of the host OS and guest OS is very close.
  3. Snapshot and clone management is pretty slick in VMware .
  4. My initial experience is that VMware is much faster than VirtualBox - starting, stopping, running.
  5. Virtual network management is quite good in VMware .
  6. Single window for all VMs in VMware.
  7. VMware stores everything about one VM in a single directory which is very convenient for backing up or copying to another machine.
  8. VMware has a cool feature called "Easy Install" where it will install the guest OS unattended - another very useful feature.

Friday, January 15, 2010

Fedora 10 and Ns2-2.33 compilation problems

I got the following compilation problem while building ns2-2.33

Conflicts in following files ('const char*' with 'char *'):
common/packet.cc:48 int p_info::addPacket(const char *name)
common/packet.h:248 static int addPacket(char *name);

Solution:
Remove 'const' from packet.cc.

After this it built successfully.

ubuntu 9.10 and NS2 2.33 installation problem - make: *** [tk3d.o] Error 1

I was getting this mysterious error while installing NS2 2.33 on Ubuntu 9.10:
make: *** [tk3d.o] Error 1
tk8.4.11 make failed! Exiting ...
For problems with Tcl/Tk see http://www.scriptics.com

Here is what worked for me. I installed a few packages, and it fixed the above problem:

sudo apt-get install tcl tk build-essential autoconf automake libxmu-dev libtool


Unfortunately, there are many more problems. Ubuntu 9.10 has lot of problems with backward compatibility. I thought Ubuntu was different from other Linux distributions and would respect the backward compatibility, but it has disappointed me. Some guys have done some hard work on making ns2 work on Ubuntu 9.10, details on this blog - Easiest way to install ns2 on ubuntu 9.10. But I am not comfortable with this one. So I am going to revert back to Ubuntu 9.04 and go with that.

Linux is very good at sucking your precious time.

Thursday, January 14, 2010

Missing /etc/initab in Ubuntu? Ubuntu replaces Init with Upstart

I hate fragmentation in Linux.

Here comes more fragmentation and one more headache to learn in Linux world.

Ubuntu replaced init with upstart. That is why there is no more /etc/initab. More information here: http://en.wikipedia.org/wiki/Upstart .

It is supposed to be a big improvement. Then why not push for it to be part of LSB. In that case, this will be a standard on all Linux distributions and we don't have worry with too many headaches.

Saturday, January 9, 2010

Why you should not allow online companies to have control over your contents, data, devices

I bought a video on Amazon a while back, today when me and my friends wanted to watch this video, this is what I got on Amazon Video:
Video currently unavailable for playback and download. Due to our licensing agreements this video is currently not available for online viewing or downloading. If you have downloaded this video to a PC or TiVo DVR you can continue to watch it from that location.
Amazon sux!
Entertainment Industry sux!
15 dollar down the drain.

Lesson: Don't let online companies have control over your data files, contents, and devices.

These days all companies (offline and online) are trying to
  1. grab as much of your personal information as possible... Facebook, Google...
  2. control as much of your music n video files, contents, devices as possible... majority of Entertainment Industry and Publishing Industry, Google, Apple
  3. separate as much of your money from you as possible... Apple, Sony...
Here are some ways companies control your data files, contents, and devices.

Data files (including books, music, video):
  • Amazon Kindle controls all the kindle books you bought. They can remove any of the books you bought anytime. This is applicable to to other DRM based digital books too.
  • Amazon Video and Apple iTunes control all the video you bought.
  • Apple iTunes controls your music too.
[While I was writing above, the root of all these problems is DRM]

Contents:
  • Online Email Services - Google, Yahoo, Hotmail
  • Social networking sites - facebook, myspace
  • Blogging sites - blogspot, wordpress
  • Website hosting - Google
  • Other services like - Calendar, photo
Devices:
  • iPhone and iPods
There are lot of people who don't use any of these things and they are just fine. But in today's life, many of these services can actually help if you use they judiciously. Everybody has different needs and lifestyle. So decide for yourself how much control you want to give to these online companies.

Thursday, January 7, 2010

Windows 7 GodMode is awesome!

Here is the wiki on this:
http://en.wikipedia.org/wiki/Windows_Master_Control_Panel_shortcut

In short:

Create a new folder and name it
GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

That's it!!!

Sunday, January 3, 2010

Adding lyrics in iPhone using Mp3TagEditor

These links helped me:
For metals, use darklyrics web script to import lyrics from album at once, for others you have to do one song at a time (Hint: Use keyboard shortcuts to do it fast).

Once lyrcis have been added, remove those songs from iTunes, add them again to iTunes and sync iPhone. (I just removed the artists folder completely and added them again to save myself headache of doing this for individual songs)

Saturday, January 2, 2010

iPhone's most ignored flaw

One of the biggest flaw of iPhone is that it can easily slip from your hand and fall on the ground. It has happened to me a few times. Apple has made it all shiny and rounded and slippery. Is it supposed to be kept in a exhibition hall or museum? The other phones in the market are much more better in this aspect. Apple should do some research and look in the kitchen and fridge and see how the utensils, bottles, cans etc are made so that those items don't slip from your hand.

Like iPhone's unstable OS, this is another flaw which gets ignored because of its features.

Windows 7 bug: no way to edit environment varibale graphically

When you try to change environment variable by clicking on "Computer\RightClick\Properties\Advanced System Settings", it will ask for "admin" password. Once you enter admin password, go to "System Properties\Advanced\Environment Variables". Here, you get a choice to change environment variable of "Admin" account or the "System".

So, only way to change your environment variable is to directly edit registry. This is a bug, since I was able to do this in Windows XP. On other note, why changing your own environment variable is a "System property"? It should be a user account property.

Friday, January 1, 2010

iPhone's unstability reminds me of Windows 95

I am running iPhone OS 3.0 on iPhone 3G. It is slow and unstable. It crashes sometimes, hangs sometimes and drops calls sometimes. Out of all the cell phones I have owned and I know of, iPhone is the most unstable. But I like it simply because it meets my requirements best with its user experience and apps.

This reminds of Windows 95 which used to crash often (I think mostly because of buggy drivers and applications), but people used it because it had so many cool things that people didn't mind those tiny nuances of crashes. As a side note, I used Windows 95 mainly for watching videos and playing games, for everything else I used Solaris or Red Hat Linux; I switched my main platform from Red Hat Linux to Windows after the release of Windows XP and me realizing that Windows has finally got kernel protection and is not easy to crash.

iPhone problems which I encounter daily or frequently:
- drops call while talking (never happened with any other cell phones I owned - all on AT&T network)
- sometimes it will just refuse to charge from my laptop, but can do sync. I tried more than ten times today, but it wouldn't charge.
- hangs sometimes - I think some of the apps I have may be buggy
- sometimes very slow and unresponsive
- sometimes screen goes blank and wouldn't come up no matter whatever you try.

iPhone simulator for Windows

Before I install any new software/app, I like to test it or get a feel of it in a virtual environment. On Windows it is easy. But so far, I have not been able to find a way to run iPhone apps in a virtual environment.

I think iTunes should have been able to test drive iPhone apps, but it doesn't.

The steps to create iPhone simulator are straight-forward:
  1. Have an emulator for ARM processor (the processor in iPhone)
  2. Get a modified version of iPhone OS (either from the apple website, or iPhone and then modify it like http://www.osx86project.org/ )
  3. And design a nice UI to itegrate the iPhone hardware emulator and the OS; also import apps from iTunes, run jail-broken iPhone apps.
Looks like this has not been done.


Here are the closest I could find:
  1. iBBDemo - Blackbaud iPhone Browser Simulator - simulates iPhone's safari web browser.
  2. http://www.genuitec.com/mobile/ - Simulates iPhone's safari web browser.
  3. Desktop iPhone from Ribbit - This is a webapp written using Adobe Air. You need to install Adobe Air to run it. It can simulate some pre-defined apps, you may need to create account with Ribbit. To me this looks like a pretty useless software. Here is a video of someone trying this.