Windows 7 Photo Stream not syncing after iCloud 3.0 [Solved]

I have configured a custom location for photostream on my windows machine, since I don’t want to fill up my C drive. All this while, this seemed to work without any issues. However, recently after updating to iOS 7 and iCloud 3.0.3 my photostream stopped syncing on my windows machine. It was weird because while all my shared photo streams continued to sync, my “My Photostream” didn’t sync at all. I tried various things like re-installing iCloud Control Panel, resetting my phone etc., but nothing seem to work.

I noticed that in the new iCloud Control Panel 3.0.x, the default location for photostream is changed from “[User Documents]\Pictures\Photo Stream” to “[User Documents]\Pictures\iCloud Photos”. I suspected that developers in Cupertino must have overlooked some bugs in iCloud Control Pamel 3.0.x (as they did in iOS 7) which would have crept in because of the change in default location. I therefore tried the following experiment, and voila, my photostream started to sync again.

Basically, I created a junction link between “[User Documents]\Pictures\iCloud Photos” and the custom location where i wanted my photos to sync. Junction link is similar to a hard link in unix/linux machines. To create a junction link you should first sign out of any running instance of iCloud control panel and quit it. Then run the following commands at command prompt, and launch iCloud control panel again.


prompt>mkdir "[custom path]"
prompt>mklink /j "[User Documents]\Pictures\iCloud Photos" "[custom path]"

Problem solved! :)

[Fixed] Atheros Wireless slow/disconnecting intermittently

Atheros 9k series based wireless cards are among the most commonly found wireless networking cards on laptops. While Linux Kernel 2.6 and later provide support for these cards through ath9k module/driver, madwifi is also an option for some.

Despite the card’s popularity and integrated module availability, the driver is not bug-free. Users of all flavors of Linux (to name a few: RHEL 5,6; Centos 5,6; Ubuntu 11.x,12.x; FC 12,13) seem to have had issues with this driver. The two most commonly reported issues are slow wireless connectivity and wireless network disconnecting intermittently – either due to inactivity or after coming out of suspend/hibernate. The latter issue also sometimes manifests itself as the network card refusing to “come up”.

Here is an easy fix that fixes both issues. It has been tried and tested to fix the issues on at least the above mentioned Linux distros and should also work on other distros that use ath9k module.

Run the following commands as root (or prefix sudo)
Add the option nohwcrypt for ath9k: this removes the hardware based encryption and moves it to software

echo "options ath9k nohwcrypt=1" > /etc/modprobe.d/ath9k.conf

Turn off the automatic power management for your wireless card

iwconfig wlan0 power off

Now Reboot.

Alternatively, instead of rebooting you can perform the steps below
Unload the driver and reload it again

modprobe -rv ath9k
modprobe ath9k

Restart the network manager service

service NetworkManager restart

Now you are all set. Have fun!

Update:
If you still continue to have a problem with the wireless card when your machine comes up back from Suspend, you may be facing issues due to poor/bad ACPI management by your BIOS. Add the following option to the kernel command in your grub config: "acpi=off" (without quotes) to solve this.

M.S. Thesis Defense – Aug 2012

So finally I was able to defend my M.S. thesis, “Visualizing Digital Collections at Archive-It”.

Archive-It, a subscription service from the Internet Archive, allows users to create, maintain, and view digital collections of web resources. The current interface of Archive-It is largely text-based, supporting drill-down navigation using lists of URIs. While this interface provides good searching capabilities, it is not very efficient for browsing. In the absence of keywords, a user has to spend large amount of time trying to locate a webpage of interest. In order to provide a better visual experience to the user, we have studied the underlying characteristics of Archive-It collections and implemented six different visualizations (treemap, time cloud, bubble chart, image plot, timeline and wordle), each highlighting one or more of the underlying characteristics of the collection. Archive-It supports grouping of webpages into categories, however, it does not enforce its usage. As a result there are many collections with missing or improper grouping. For such collections, we present a method of grouping webpages based on a set of pre-defined rules.

Here are the slides from my defense.

The following are direct links to the videos in the presentation :

Treemap: http://www.youtube.com/watch?v=BJDrxQEEFYM
Timecloud: http://www.youtube.com/watch?v=YYkI6aBO0to
Bubble Chart, Image Plot and Timeline: http://www.youtube.com/watch?v=j94clxqKQk8

 

AWS RDS Database Import problem – fixed

Often RDS users trying to import data face this error when they try to create triggers:

ERROR 1419 (HY000) at line 49: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

The reason for this is that the default DB parameter group doesn’t have the privileges set to create and insert triggers into the database. To get rid of this error, do the following:

  1. Obtain RDS CLI tools from AWS website here, and follow the installation steps.
  2. On your terminal (or command line) create a new parameter group (since we can’t directly modify the default parameter group)
    rds-create-db-parameter-group allow-triggers --db-parameter-group-family mysql5.5 --description "parameter group to allow triggers"
  3. Now modify the parameter group created just now
    rds-modify-db-parameter-group allow-triggers --parameters "name=log_bin_trust_function_creators, value=true, method=immediate"
  4. Apply the new group to the database
    rds-modify-db-instance --db-instance-identifier instance-name --db-parameter-group-name allow-triggers --apply-immediately
  5. Finally, you will need to restart your RDS instance.

 

After running the above you should be able to import your schema/data and create triggers without problem. In case you receive the following error while using mysqldump

ERROR 1227 (42000) at line 2492: Access denied; you need (at least one of) the SUPER privilege(s) for this operation.

then, the problem is with the definer statement in your trigger. Change it from

DEFINER=user_a@localhost

to something like

DEFINER=correctuser@ip

JCDL 2012

I was in Washington, DC the week of June 10, 2012 attending JCDL 2012.

A detailed summary of the conference has been put together on the official WS-DL blog of Web Science and Digital Libraries Research Group from Department of Computer Science, ODU by my colleague Hany SalahEldeen.

Here are my slides from the presentation.

Best cell phones – iPhone, Android or is it even worth it??

So today my friend posted CNET’s review of Best Cellphones on his Facebook wall and what followed perennial argument between him and one of our friends about iPhone versus Samsung Galaxy. The excerpts of their discussion are below:

  • A: Royal family of phones headed by SGS III :D . I never said iPhone is not a good phone, but SGS II and III have simply outclassed it in every aspect. Agreed that iPhone has a lot more sales, but a lot of it is due to iSheep and the Apple brand’s wow-factor, and not coz its the best phone. Every year, more Nanos are sold as compared to Maybachs, that doesn’t mean that Nano is better. I’m waiting for WWDC 2012 before buying my next phone. It’s gonna be either iPhone 5 or SGS III, and the decision is gonna be purely based on head-to-head comparison.  Also, take a look at the growth in numbers witnessed by Samsung, and the way Android has gobbled up iOS market share. I just hope iPhone 5 bumps up the screen size from that tiny 3.5 inches, else it won’t even figure in my consideration list.
  • My friend:  But the thing is there are lot better cars than RR but the elegance of RR is unsurpassed. Similarly the cheap plastic Samsung can never compete with the elite iPhone build quality. Don’t know what WWDC says but common public even in India craves for iPhone :P
  • A: Yup, i agree…dont quite like the back of SGS III, but can live with it, in the larger scheme of things
  • Another Friend: Samsung is giving u all the features at a low cost..But that doesn’t make it better/superior than the iPhone..! Users across the Globe look for the best features at the lowest price… thats why Samsung is zooming ahead..! Who knows the future..May be 10 yrs down the line Samsung will wipe out all the other brands…but at present iPhone redefines Class & is the best Brand in the Market..! “You realise the value of an iPhone only if you own one “…So “A” (Considering the Royal family you belong to ) its high time you own an iPhone now..:D Stop chasing the Galaxy series..!

Here are my two cents on this topic:

what we witnessed on this thread is something i deal with on a constant basis – at work & at home. My 2 cents (on both platform as well as phones):
1. Android has surpassed iOS in market share because the number of handsets that support Android are way greater than iOS. While iOS it completely tied to underlying hardware (as was Mac in its nacent years), Android is more like linux – freely available, easily customizable, runs on any hardware. Hence, the widespread adoption of a mobile OS like Android makes sense once you understand that firmware development is also a contributing factor to BOM for any handset. Hence the numbers really don’t mean anything to me.

2. When Suyash says “more nanos are sold than Maybachs”, does he refer to iPod Nano or Tata Nano? I apologize for being dumb here. In any case his argument is flawed because if nano = iPod then you are comparing apples with oranges, and if nano = Tata Nano, then read my statement 1 above.

3. Continuing on the discussion of the platform (coming to handsets in a minute), Android has some serious design limitations when it comes to performing certain UI tasks. The concept of 3-4 buttons on the bottom of touch panel is completely obscure, non-intuitive and confusing for any novice to average person since most users are used to working with either buttons or touch but not a combination of both at the same time to complete a task. Lack of mature SDK and APIs makes it harder for developers to develop applications (I develop for both platforms). Lack of a well curated application distribution environment is another issue I identify with Android resulting in mass distribution of below average and unsupported applications. Bear in mind, I am not advocating the tight-fisted ruling of Apple when it comes to distribution on App Store. The costs are often prohibitive and some terms just bizzare. However, the insistence on adhering to quality guidelines makes all the difference.

4. Coming to the handsets. I went through the link that Arjun posted. One thing that I really can’t understand is why do reviewers keep losing focus on what they really want to emphasize. Simply the presence of n-MP camera doesn’t make the handset really good, neither does the support of “Fast 4G-LTE”. One of the most annoying comparisons I have seen is on the T-Mobile website for instance (http://explore.t-mobile.com/verizon-att-sprint/). A clear case of “mis-comparisons” where different phones from different networks are being compared against each other in performance tests like download speeds and streaming. One must understand that we are again comparing “apples with oranges”. When you compare iPhone on ATT with some HTC on T-Mobile, the network conditions as well as the platform changes. A best comparison for handset performance can be achieved only if you compare two handsets (same or different platform) on the same network against each other by running same tests. To compare network performance, use same handset on two different networks and run same tests.

5. The combination of things that make up a good phone are IMHO:
a. Processing speed – High-end Android phones from Samsung and Motorola fare better here
b. RAM
c. Cache
d. Display – Apple’s patented Retina Display provides crispier and better images in any condition than even the lates OLED displays on Samsung phones
e. UI responsiveness – most Android phones continue to be sluggish
f. Usage and navigation ease for performing common tasks
g. Organization of content – Android does a poor job
h. Inutitive UI – Android does a poor job again
i. Peripherals – Any camera more than 5MP on a phone is a waste. We do NOT need those Megapixels. we need a larger sensor.

6. Accessibility features like TTS, STT, C2DM, Google checkout, etc. really dont mean anything while comparison – Apple is catching up with introduction of Siri but still has some way to go. But ask yourself, how often do you use Siri to schedule appointments and search, or how often do you browse the web on your Android phone using voice? The answer will be “almost never” (may be “regularly” or “often” by tech savvy GMs out there – but you are a small bunch :P ).

7. Finally going back to where this all started to choose between iPhone(4S/5) or SGS(II/III), I would still prefer iPhone because
a. Competitive processing speed, ram, cache
b. Superior display
c. Nurtured AppStore
d. Better UI responsiveness and more intuitive UI
e. I can still keep my data mine if I choose not to use any Google services on the phone and turn off location
f. Finally the “wow-factor” of owning Apple

Your thoughts, comments are welcome.

Hello world

Hello world!!!

They say third time is a charm… I hope it really is.. So this time, I have migrated my website (and blog) to Amazon EC2… I was completely fed up of the slow hosting provided  by my earlier hosting company and it was burning a hole in my pocket. I had heard a lot about Amazon AWS before and recently I started working on a project that requires me to setup infrastructure on AWS which meant this migration was a good starting exercise.

Update: The migration took some days since I did it in stages. First I took a backup of all data. Next, I create an EC2 instance and installed wordpress on it. Finally, I migrated data from old database to new. By contrast, migration of mediawiki was much simpler. I just had to create a backup of old files and database and copy them over. :)

Backing up DDL in Oracle – the DBA way!!

So the other day I had to back up all database objects for an Oracle instance i manage and I was looking for some tool that would help me generate DDL for each object in a separate SQL file.

A quick Google search revealed I could backup DDL using TOAD (full version), DB Solo and RazorSQL. I use DBArtisan at work and my organization doesn’t want to move to TOAD yet. I have used DB Solo in the past and I have liked the clean and light interface and the quick ability to back up DDL but I just couldn’t use it this time because I had already expired my trial version and didn’t have enough time to get the folks sign off on purchase of a license (which is not very expensive). So I decided to try RazorSQL, but was disappointed because it dumps all objects in one single SQL file. Also, when I tried to back up stored procedures (over 5000 of them), the program refused to copy.

Out of luck and exhausted, I remembered the good old DBMS_METADATA commands. I quickly created a new directory entry in the database for the location where i wanted to dump my DDL, and executed a procedure that I wrote to perform the DDL backup.

Here are the steps I followed: (one can use SQL PLUS or any DB tool he wants)

–create a new directory in all_directories table. This is important to avoid ORA-29280 invalid_path execption.

CREATE OR REPLACE DIRECTORY BACKUP_DIR AS 'E:DATA_BKP';

–also grant permissions to everyone to read, write (maybe restricted based on your requirement).

GRANT READ,WRITE ON BACKUP_DIR TO PUBLIC;

–the stored procedure for DDL backup
–note that we are reading from USER_OBJECTS data dictionary, this way it exports only the current user’s objects.
–to export all objects, execute procedure as sys or sysdba and use the table ALL_OBJECTS instead.

CREATE OR REPLACE PROCEDURE	EXPORT_DDL
AS
	V_DDL_CLOB  CLOB;
	VPATH VARCHAR2(255);
BEGIN
	FOR C IN (SELECT OBJECT_NAME, OBJECT_TYPE
             FROM USER_OBJECTS
             WHERE OBJECT_TYPE IN ('TABLE','VIEW','FUNCTION','PROCEDURE','PACKAGE','PACKAGE_BODY'))
	LOOP
		V_DDL_CLOB := DBMS_METADATA.GET_DDL(C.OBJECT_TYPE, C.OBJECT_NAME, 'EAGLE');
		DBMS_XSLPROCESSOR.CLOB2FILE(V_DDL_CLOB, 'BACKUP_DIR', C.OBJECT_TYPE || '_' || C.OBJECT_NAME||'.SQL');
	END LOOP;
END;
/

EXEC EXPORT_DDL;

Now that was simple, wasn’t it? :)

एक वर्ग की कहानी

सो गया जग सारा,
वर्ग सारा सो गया,
अध्यापिका पढ़ा गई,
कक्षा हीं सारी सो गई |

प्रबंधन की शाला में,
बालको का ध्यान बाला में,
मनमुग्ध करने की कला में,
हर विद्यार्थी खो गए |

हाजिरी की इंतज़ार हुई,
बातें कुछ दो चार हुई,
शिक्षक की डांट बेकार हुई,
यह पहर भी पार हुई|

John Nash’s Letter to the NSA

Clearly John Nash was way ahead of his time… Schizophrenic, but super smart.. Respect!

Reblogged from Turing’s Invisible Hand
The National Security Agency (NSA) has recently declassified an amazing letter that John Nash sent to it in 1955. It seems that around the year 1950 Nash tried to interest some US security organs (the NSA itself was only formally formed only in 1952) in an encryption machine of his design, but they did not seem to be interested. It is not clear whether some of his material was lost, whether they ignored him as a theoretical professor, or — who knows — used some of his stuff but did not tell him. …