Wednesday, September 26, 2012

Download Coursera videos [Bulk Download]

To download a course material from Coursera, Recently I had tried a lot of open scripts available on the Internet but each script has its own assumptions and limitations and is of little use.

Here I am sharing, the best and simplest solution to download bulk videos, subtitles, PPTs and PDFs from Coursera.

  1. Install DownloadThemAll! add-on in Firefox.
  2. To download all material related to a lecture say Princeton's Algorithms Part-1
    • Note: Video links are not direct links to mp4 files hence you have to manually select such links to be downloaded (See Image in Left, You can use sort option to quickly select all such links using Shift key)


Please, Leave your comments in case you face any issues.



Wednesday, September 19, 2012

Force sync Chrome extensions


A simple hack to force syncing of Google Chrome's extensions with the extensions associated with your Google account.
1. Go to Edit->Preferences->Extensions
2. Check the "Developer mode" box on the top right corner.
3. Hit the "Update extensions now" button just belove the "Developer mode" check box.
You shall be all set. 

Sunday, January 17, 2010

Linux USB Ethernet Driver (Davicom, dm9601)

Driver Patch for Linux kernel 2.6.31.X
Patch Author- Ankit Kapoor


[Update Sept 17, 2012]

---------------------------------------

Recently got to know that Google has deleted all user files while upgrading Goolge groups to a new version around 5-6 months back. Unfortunately, I missed to check reminder mails (a lot off) from Google and right now I don't have that patch file backed up anywhere else.
---------------------------------------

If you are trying to install Davicom Semiconductor's usb ethernet card driver for Linux kernel 2.6.31.X* (see post end), probably you have already downloaded dm9601-Linux2.6_1.tar from the meworks web site.

If during compilation of the driver you see following error messages:

/home/ankit/Soft/tars/dm9601/dm9601.c: In function ‘ctrl_callback’:
/home/ankit/Soft/tars/dm9601/dm9601.c:166: error: implicit declaration of function ‘warn’
/home/ankit/Soft/tars/dm9601/dm9601.c: In function ‘write_bulk_callback’:
/home/ankit/Soft/tars/dm9601/dm9601.c:527: error: implicit declaration of function ‘info’
/home/ankit/Soft/tars/dm9601/dm9601.c: In function ‘dm9601_tx_timeout’:
/home/ankit/Soft/tars/dm9601/dm9601.c:599: error: ‘struct net_device’ has no member named ‘priv’
...

...
...
/home/ankit/Soft/tars/dm9601/dm9601.c:1021: error: ‘struct net_device’ has no member named ‘tx_timeout’
/home/ankit/Soft/tars/dm9601/dm9601.c:1022: error: ‘struct net_device’ has no member named ‘do_ioctl’
/home/ankit/Soft/tars/dm9601/dm9601.c:1023: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/ankit/Soft/tars/dm9601/dm9601.c:1024: error: ‘struct net_device’ has no member named ‘set_multicast_list’
...
...
make[2]: *** [/home/ankit/Soft/tars/dm9601/dm9601.o] Error 1
make[1]: *** [_module_/home/ankit/Soft/tars/dm9601] Error 2

You can follow the steps given below to solve above issue.
1. Download driver(dm9601-Linux2.6_1.tar) from meworks. Move tar file to /tmp/
2. Download the patch dm9601_2.6.31.5-0.1.patch (right click and select SaveAs option). Move the patch file to /tmp/ folder.
3. cd /tmp/
3. tar -xvf dm9601-Linux2.6_1.tar
4. cd dm9601/
5. patch -p1 -i /tmp/dm9601_2.6.31.5-0.1.patch
You should get following output:
patching file dm9601.c
patching file dm9601.h
6. make (you should not get compilation errors now)7. sudo /sbin/modprobe/dm9601

see readme given with the driver tar file to configure the new ethernet interface.

*Note: I created and tested attached patch for kernel 2.6.31.5-0.1 on SUSE-11.2. If you are using some different kernel version but still getting same compilation errors as shown above, patching the driver with the attached patch file should also work for you.
Thank you.