- Hashing – Consistent hashing, Extendible hashing
- Sorting – Three-way quicksort, Interval tree
- Searching – Bloom filter
- Cache Oblivious Algorithms – SILT – A memory efficient high performance key-value store, Cache-Oblivious Streaming B-Trees
- B-Tree, Shadowing and Clones – O Rodeh
- Card Shuffling – Fisher–Yates_shuffle
PS4 has abysmal parental control feature. It has global settings and several other issues. This means that only real way to enforce parental control is to lock the game disk away from your children. However, with the next generation consoles focusing more on digital games, it becomes a real problem if you buy games digitally through PSN and then had no way to control them.
After some research, I realised that you can have an alternate way of control if you buy digital games using an additional PSN account. This second PSN account should only be used to buy those games whom you want to control access to. Since PS4 only allows games to be accessible to other users if you set the PS4 as primary PS4 for your account, you need to avoid doing this for your second PSN account. In summary:
- Have two separate account for buying digital games – one for regular games and one for other games (Adult only) that you want to control.
- Set your PS4 as primary PS4 only for the first account. Don’t do it for second account.
- Games for your first account will be accessible to all users on your PS4. Games from your second account will only be accessed when you login to that account. Set proper password for this second account.
adb is the tool that can transfer files (it does many other things) from android phones to your computer. Here is the summary of how it can work from Linux. I tested on Kubuntu 13.10 and my Nexus 4 running android 4.2.
- Make sure latest version of adb is installed: sudo apt-get install android-tools-adb
- See this link about how to provide USB permission for specific device. In short, create a file /etc/udev/rules.d/51-android.rules and add a line specific to your phone and your username. (By the way, make sure that if you have a folder $HOME/.android , then it is owned by this user.)
- Make sure “USB debugging” is enabled on your device.
- Connect your phone and check the connectivity using “adb devices” command.
- Copy files using “adb push” or “adb pull” command.
Some collected links for Advanced courses:
- Advanced Comp Sc courses
- 6.851: Advanced Data Structures (Spring 12)
- Jeff Erickon’s Algorithm course materials
Other random links:
- Parallel Programming – By Paul McKenney
- What every programmer should know about memory, [ pdf ]
- Modern Microprocessors – A 90 min guide
- How debuggers works
- 10 technical papers every programmer should read twice
- Deep C
- C FAQ
- Java Concurrency – Atomicity, Visibility and Ordering
- Needle in a haystack
- The status of P vs NP problem
- Functional programming for beginners
- On being a senior engineer
- Linux performance analysis and tools : Brenden Gregg
- C++ frequently questioned answers
- Interviews related – geeksforgeeks , careercup , Top 10 algorithms for coding interview, How to rock an algorithm interview,
After going through a few references on the web (here, here and here), I was finally able to connect my Nexus 4 to TV and play game using a PS3 DualShock 3 controller. To summarize, here is what you need to do :
- You need a Slimport to HDMI adapter. The currently available one is SP1002, from Analogix. I bought it from iBhejo.
- Need to have a DualShock3 controller, it comes with PS3. (or you can buy it). There are reports of other controller working also, but I didn’t check them personally.
- Need to root your phone. This has two steps – first, unlock the bootloader, second, install the actual rooting app by temporarily booting into a custom bootloader. Note that you will still retain your stock bootloader and will continue to get updates from Google (as per the details on the thread).
- Need to buy the sixaxis controller software from google play. This works only on rooted phones.
- Nexus 4 Gaming thread – http://forum.xda-developers.com/showthread.php?t=2056090
- Sixaxis controller touch profiles – http://forum.xda-developers.com/showthread.php?t=1426760
- Setting up sixaxis from Linux – http://www.blog.kaiserapps.com/2012/10/setting-up-sixaxis-controller-android.html
Recently, one of my friend and colleague, Imran, was having trouble installing COMODO anti-virus on OpenSUSE 12.2. The filesystem kernel driver compilation was failing for OpenSUSE 12.2 kernel. He asked me to take a look. Although I am not a big fan of running anti-virus on Linux, I decided to give it a try. It turned out to be a simple interface change. I ended up making a small patch. (This is on top of CAV_LINUX-1.1.268025-1.x86_64.rpm version).
For anyone who wants to try, here is how it can be used:
- comodo driver is installed at /opt/COMODO/driver.tar. Take a backup of the original file and extract the file in a temp location:
cp /opt/COMODO/driver.tar $HOME/comodo_driver
tar xvf driver.tar
- Here is how I apply the patch:
[niraj@nk-lap avflt]$ pwd
[niraj@nk-lap avflt]$ patch -p3 < /home/niraj/avflt_patch_f18.txt
patching file avflt_check.c
Hunk #1 succeeded at 273 (offset 4 lines).
- Tar it back and put it in original location:
[niraj@nk-lap comodo_driver]$ pwd
[niraj@nk-lap comodo_driver]$ mv driver.tar driver_orig.tar
[niraj@nk-lap comodo_driver]$ tar cvf driver.tar driver
- on root shell:
[root@nk-lap ~]# mv /opt/COMODO/driver.tar /opt/COMODO/driver_orig.tar
[root@nk-lap ~]# cp /home/niraj/comodo_driver/driver.tar /opt/COMODO/driver.tar
- Run the comodo configuration tool …
[root@nk-lap ~]# /opt/COMODO/post_setup.sh