Category Archives: Uncategorized

Unishire The Weave

In this post I am going to tell you about Unishire The Weave, which is an upcoming apartment project from Unishire Realtors Pvt. Ltd. It is situated off Thanisandra Road in Bangalore and my experience in booking the same.

I recently booked a 2BHK apartment in the above mentioned apartment. The deciding factor for me was the payment scheme.

There was a 10% downpayment scheme with the rest of 10% payable in two installments of 5% each payable in October 2014 and July 2015. Since I had booked in October, I ended up paying 15% as downpayment, but still the ability to pay the remaining 5% in July 2015 was a big plus. The downside being the possession of this project is scheduled to be late 2017 and I dont expect it to be ready before 2018. That too being optimistic.

As of date they have approvals only upto fourth floor. The rest of the approvals should be available by January 2015 end. (The earlier quoted date was Nov-Dec 2014 for rest of approvals).

The Unishire group is presently actively working upon its other two projects in Thannisandra, so guess they will only put complete dedication to this project once the other two are done.

I booked at the rate of 3750/- sq feet and have applied for home loan from HDFC.

Overall my experience with dealing the sales people has been nice and the concerned HDFC sales person also has been a pleasure to deal with. All paper work was done at my home/office.

This is the plot of the project as on Oct 19, 2014. Unishire The Weave

 

And here is the google maps location https://goo.gl/maps/3dUTI

Update: Oct 25, 2014 : Got a call from the Sales guy saying management is recommending ICICI since HDFC has apparently not released the money so far for the project. They will confirm to me on monday if I should go over to ICICI. I will go only if ICICI gives me zero processing fee since I have already paid the processing fee to HDFC (and the loan is in final stages of approval).

Linkedin down?

Looks like @ Sun Sep 28 21:27:08 UTC 2014 , Linkedin is down on the web with infinite redirect loop. The problem exists both while logged in and non-logged in.

Going by the looks of it, a new home deployment might have caused a faulty redirect. Surprisingly I dont see any other reports on twitter at this time for a linkedin failure. Is it just me?

 

Screen Shot 2014-09-29 at 2.59.49 AM

Anshu-MacBook-Pro:~ anshup$ curl -I -L -s https://www.linkedin.com/
HTTP/1.1 301 Moved Permanently
Server: Apache-Coyote/1.1
P3P: CP=”CAO CUR ADM DEV PSA PSD OUR”
Location: https://www.linkedin.com
Content-Language: en-US
Content-Length: 0
Vary: Accept-Encoding
Date: Sun, 28 Sep 2014 21:29:06 GMT
X-FS-UUID: 18019603b8379813f0ea79a8782b0000
X-LI-UUID: GAGWA7g3mBPw6nmoeCsAAA==
X-Li-Fabric: prod-lva1
Set-Cookie: _lipt=deleteMe; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: leo_auth_token=”GST:UvElobHw83UX24kTRj2lklHVoQQXXlf0Rt2k8itBKk8GG3AQzMhbhP:1411939746:245dd3572340239e71357eef1895a64caf71ab98″; Version=1; Max-Age=1799; Expires=Sun, 28-Sep-2014 21:59:05 GMT; Path=/
Set-Cookie: sl=”delete me”; Version=1; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: sl=”delete me”; Version=1; Domain=.www.linkedin.com; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: s_leo_auth_token=”delete me”; Version=1; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: JSESSIONID=”ajax:3378763733454792746″; Version=1; Domain=.www.linkedin.com; Path=/
Set-Cookie: visit=”v=1&G”; Version=1; Max-Age=63072000; Expires=Tue, 27-Sep-2016 21:29:06 GMT; Path=/
Set-Cookie: lang=”v=2&lang=en-us”; Version=1; Domain=linkedin.com; Path=/
Set-Cookie: lang=”v=2&lang=en-us”; Version=1; Domain=linkedin.com; Path=/
Set-Cookie: bcookie=”v=2&71ea2c02-5df9-45f7-8db5-5d24119e31f2″; domain=.linkedin.com; Path=/; Expires=Wed, 28-Sep-2016 09:06:38 GMT
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, no-store
Connection: keep-alive
X-Li-Pop: PROD-IDB2
Set-Cookie: lidc=”b=VB78:g=109:u=1:i=1411939746:t=1412026146:s=3048875758″; Expires=Mon, 29 Sep 2014 21:29:06 GMT; domain=.linkedin.com; Path=/

HTTP/1.1 301 Moved Permanently
Server: Apache-Coyote/1.1
P3P: CP=”CAO CUR ADM DEV PSA PSD OUR”
Location: https://www.linkedin.com
Content-Language: en-US
Content-Length: 0
Vary: Accept-Encoding
Date: Sun, 28 Sep 2014 21:29:07 GMT
X-FS-UUID: 928ba61ab8379813e0dba9dcca2a0000
X-LI-UUID: koumGrg3mBPg26ncyioAAA==
X-Li-Fabric: prod-lva1
Set-Cookie: _lipt=deleteMe; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: leo_auth_token=”GST:UicjR0NBQqxraRmVAJE3SkdicNoyfQnr54E9IJoJMVdMn8mYU3pN9c:1411939747:93cea2e9d32d7f3b4c65a4a754d58ec46ee426f0″; Version=1; Max-Age=1799; Expires=Sun, 28-Sep-2014 21:59:06 GMT; Path=/
Set-Cookie: sl=”delete me”; Version=1; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: sl=”delete me”; Version=1; Domain=.www.linkedin.com; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: s_leo_auth_token=”delete me”; Version=1; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie: JSESSIONID=”ajax:7472706816298936279″; Version=1; Domain=.www.linkedin.com; Path=/
Set-Cookie: visit=”v=1&G”; Version=1; Max-Age=63072000; Expires=Tue, 27-Sep-2016 21:29:07 GMT; Path=/
Set-Cookie: lang=”v=2&lang=en-us”; Version=1; Domain=linkedin.com; Path=/
Set-Cookie: lang=”v=2&lang=en-us”; Version=1; Domain=linkedin.com; Path=/
Set-Cookie: bcookie=”v=2&de6e7146-727b-4c72-82fd-c0c5b062d0b3″; domain=.linkedin.com; Path=/; Expires=Wed, 28-Sep-2016 09:06:39 GMT
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, no-store
Connection: keep-alive
X-Li-Pop: PROD-IDB2
Set-Cookie: lidc=”b=VB78:g=109:u=1:i=1411939747:t=1412026147:s=3097703888″; Expires=Mon, 29 Sep 2014 21:29:07 GMT; domain=.linkedin.com; Path=/

google.ps hacked

Looks like google.ps got its dns hacked.

Update below
Update 2- Looks like its a .ps registry hack rather!(based on HN)
Update 3 – Alls well again

[anshup@aero ~]$ host google.ps
google.ps has address 41.77.118.2
google.ps mail is handled by 0 google.ps.

[anshup@aero ~]$ host 41.77.118.2
2.118.77.41.in-addr.arpa domain name pointer abubakr.genious.net.

[anshup@aero ~]$ sudo nmap 41.77.118.2

Starting Nmap 6.40 ( http://nmap.org ) at 2013-08-26 23:33 IST
Nmap scan report for abubakr.genious.net (41.77.118.2)
Host is up (0.21s latency).
Not shown: 981 filtered ports
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp open ftp
22/tcp closed ssh
25/tcp open smtp
26/tcp open rsftp
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
389/tcp closed ldap
443/tcp open https
465/tcp open smtps
554/tcp open rtsp
587/tcp open submission
993/tcp open imaps
995/tcp open pop3s
2000/tcp closed cisco-sccp
3306/tcp open mysql
7070/tcp open realserver

[anshup@aero ~]$ dig NS google.ps

; <<>> DiG 9.9.3-rl.13207.22-P2-RedHat-9.9.3-5.P2.fc19 <<>> NS google.ps
;; global options: +cmd
;; Got answer:
;; ->>HEADER< ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.ps. IN NS

;; ANSWER SECTION:
google.ps. 21590 IN NS omar.genious.net.
google.ps. 21590 IN NS hamza.genious.net.

;; Query time: 2 msec
;; SERVER: 10.0.1.1#53(10.0.1.1)
;; WHEN: Mon Aug 26 23:48:13 IST 2013
;; MSG SIZE rcvd: 77

[anshup@aero ~]$ dig @8.8.8.8 google.ps

; <<>> DiG 9.9.3-rl.13207.22-P2-RedHat-9.9.3-5.P2.fc19 <<>> @8.8.8.8 google.ps
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER< ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.ps. IN A

;; ANSWER SECTION:
google.ps. 7367 IN A 41.77.118.2

;; Query time: 14 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Aug 26 23:50:56 IST 2013
;; MSG SIZE rcvd: 54

UPDATE:

Looks like www.google.ps is fine whereas google.ps is hacked.

[anshup@aero ~]$ host www.google.ps
www.google.ps has address 74.125.236.55
www.google.ps has address 74.125.236.63
www.google.ps has address 74.125.236.56
www.google.ps has IPv6 address 2404:6800:4007:800::1018

[anshup@aero ~]$ host google.ps
google.ps has address 41.77.118.2
google.ps mail is handled by 0 google.ps.

Also, the site hosting the hacked google site seems to belong to this guy:

https://twitter.com/ElZakaria

https://www.facebook.com/preemptif

Update 2
Based on Hacker News, looks like its a .ps registry hack rather.
https://news.ycombinator.com/item?id=6278976
Looks like similar to the .ro (romanian) registry hack late last year.

Update 3

At around 0530 Hrs IST (0000 UTC), aug 27th, the DNS at genious.net seems to have been re-populated with proper gooogle ips.

;; ANSWER SECTION:
google.ps. 7349 IN NS omar.genious.net.
google.ps. 7349 IN NS hamza.genious.net.

;; Query time: 8 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 27 05:20:01 BDT 2013
;; MSG SIZE rcvd: 88

;; ANSWER SECTION:
google.ps. 299 IN A 74.125.236.50
google.ps. 299 IN A 74.125.236.49
google.ps. 299 IN A 74.125.236.52
google.ps. 299 IN A 74.125.236.48
google.ps. 299 IN A 74.125.236.51

;; Query time: 86 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 27 05:20:01 BDT 2013
;; MSG SIZE rcvd: 118

This because the TTL for the genious.net DNS was quite high preventing the google SOA from propagating.

At around 0722 IST, the SOA TTL expired from google’s own 8.8.8.8 DNS.

;; ANSWER SECTION:
google.ps. 149 IN NS omar.genious.net.
google.ps. 149 IN NS hamza.genious.net.

;; Query time: 8 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 27 07:20:01 BDT 2013
;; MSG SIZE rcvd: 88

;; ANSWER SECTION:
google.ps. 299 IN A 74.125.236.52
google.ps. 299 IN A 74.125.236.49
google.ps. 299 IN A 74.125.236.51
google.ps. 299 IN A 74.125.236.48
google.ps. 299 IN A 74.125.236.50

;; Query time: 93 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 27 07:20:01 BDT 2013
;; MSG SIZE rcvd: 118
;; ANSWER SECTION:
google.ps. 21599 IN NS ns2.google.com.
google.ps. 21599 IN NS ns3.google.com.
google.ps. 21599 IN NS ns1.google.com.
google.ps. 21599 IN NS ns4.google.com.

;; Query time: 114 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 27 07:30:01 BDT 2013
;; MSG SIZE rcvd: 120

Screenshot from 2013-08-26 23:49:27

Fedora laptop setup – Dell Inspiron 1420

I ve been using fedora since FC3. I bought my laptop in 2008 and since then I ve been using fedora on my laptop. I was on Fedora 7 when I first bought my laptop and today am on Fedora 18. After every install of Fedora, I end up looking up for some of the regular problems.. sound, disable hibernate/sleep on lid close, etc etc.

This blogpost is a placeholder for all such efforts going forward:

No Sound problem:

cat /etc/modprobe.d/snd-hda-intel.conf
options snd-hda-intel model=dell-3stack

Stop sleep/hibernate on lid close

$ gsettings list-recursively org.gnome.settings-daemon.plugins.power|grep lid
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'blank'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'blank'
org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor false

$gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'blank'

I also found this..
http://nottooamused.wordpress.com/2012/12/29/fedora-17-and-18-how-to-disable-auto-suspend-when-laptop-lid-is-closed/


I tried Fedora 20 on a Dell Vostro 1450 Laptop, and got problems with the wifi card.

[root@aero anshup]# lspci |grep -i network
07:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

The way to fix this in Fedora 20 is:

Install rpm fusion free and non free repo:

su -c ‘yum localinstall –nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm’

Now install akmod-wl
su -c ‘yum install akmod-wl “kernel-devel-$(uname -r)”

Error establishing a database connection – WordPress Error

Well, for the last few weeks I ve been seeing this error quite often on my blog. I didn’t think of it much initially as it used to go away on a mysql restart. However, today I ran into it and was persistent after mysql restarts. So I started digging a bit more and enabled debugging in wp-config


in wp-config.php

define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_DISPLAY’, true);

This didn’t show any error that could help me. I could ve tried enabling further logging in apache to see if that helps

http://codex.wordpress.org/Editing_wp-config.php#Configure_Error_Log

I had tried logging into mysql with the username and password configured in the wordpress config and it worked fine. So I knew those were fine and mysql was running fine. I even restarted httpd a few times to confirm, but it didnt help either.

Then I checked up the mysqld log and voila!

 

101:130113 10:15:33 InnoDB: Database was not shut down normally!
116:130113 16:37:34 InnoDB: Database was not shut down normally!
131:130113 16:39:16 InnoDB: Database was not shut down normally!
146:130113 16:42:20 InnoDB: Database was not shut down normally!
158:130113 16:45:05 InnoDB: Database was not shut down normally!

130113 10:15:32 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
130113 10:15:33 InnoDB: Initializing buffer pool, size = 8.0M
130113 10:15:33 InnoDB: Completed initialization of buffer pool
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130113 10:15:33 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files…
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer…
130113 10:15:33 InnoDB: Started; log sequence number 0 1049991
130113 10:15:33 [Note] Event Scheduler: Loaded 0 events
130113 10:15:33 [Note] /usr/libexec/mysqld: ready for connections.
Version: ‘5.1.56’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 Source distribution
130113 16:37:04 mysqld_safe Number of processes running now: 0
130113 16:37:04 mysqld_safe mysqld restarted
130113 16:37:29 InnoDB: Initializing buffer pool, size = 8.0M
130113 16:37:30 InnoDB: Completed initialization of buffer pool
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130113 16:37:34 InnoDB: Database was not shut down normally!

Version: ‘5.1.56’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 Source distribution
130124 20:22:26 [ERROR] /usr/libexec/mysqld: Incorrect key file for table ‘./wp_options.MYI'; try to repair it
130124 20:22:26 [ERROR] /usr/libexec/mysqld: Incorrect key file for table ‘./wp_options.MYI'; try to repair it
130124 20:25:00 [ERROR] /usr/libexec/mysqld: Incorrect key file for table ‘./wp_options.MYI'; try to repair it
130124 20:25:00 [ERROR] /usr/libexec/mysqld: Incorrect key file for table ‘./wp_options.MYI'; try to repair it
130124 20:33:04 [ERROR] /usr/libexec/mysqld: Incorrect key file for table ‘./wp_options.MYI'; try to repair it
130124 20:33:05 [ERROR] /usr/libexec/mysqld: Incorrect key file for table ‘./wp_options.MYI'; try to repair it
130124 20:33:05 [ERROR] /usr/libexec/mysqld: Incorrect key file for table ‘./wp_options.MYI'; try to repair it
130124 20:34:44 mysqld_safe Number of processes running now: 0
130124 20:34:44 mysqld_safe mysqld restarted
130124 20:34:47 InnoDB: Initializing buffer pool, size = 8.0M
130124 20:34:47 InnoDB: Completed initialization of buffer pool
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130124 20:34:48 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files…
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer…
130124 20:34:48 InnoDB: Started; log sequence number 0 1049991
130124 20:34:48 [Note] Event Scheduler: Loaded 0 events
130124 20:34:48 [Note] /usr/libexec/mysqld: ready for connections.
Version: ‘5.1.56’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 Source distribution
130124 20:34:59 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired
130124 20:34:59 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired
130124 20:34:59 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired
130124 20:34:59 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired
130124 20:34:59 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired
130124 20:34:59 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired
130124 20:35:06 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired
130124 20:35:06 [ERROR] /usr/libexec/mysqld: Table ‘./wp_options’ is marked as crashed and should be repaired

So looks like this is what was causing my recent problems.

Once I saw this in the mysql logs, it was a simple fix:


mysql> repair table wp_options;

Found 231 of 230 rows when repairing wp_options

 

And so far its all been good after that :)

The Mayans were right!

The Mayans were right! It is the end of the world. The end of the world as we knew it. With the deads of maestros like Yash Chopra, Pandit Ravi Shankar; others like Neil Armstrong, Michael Clarke Duncan, Whitney Houston, Jaspa Bhatti, Verghese Kurien, Dara Singh, A.K Hangal to name a few; it indeed seemed as if they were all being ported away to “2012” themed escape pods/ships. Closer home, where everything seemed “theek hai“, the famed IAC broke up to just become yet another political party, even if it be for the common man, while India rallied for her Damini, the Nirbhaya Amanat symbolised the end of an era; and beginning of another one where the boy child needs to be taken care of. And what else to say when The God himself says its time to hang up the boots.

Yes, the world has ended. Everything that begins has an end; and after every end there is a new beginning. The Mayans never said the circle is broken. Their calendar is a circle. Its just the beginning of a new one. Here is to the brand new year, with all its copy lefts and common creatives; see you tomorrow!

PS: Wishing you all a very happy new year!

Lifetime Roadtax in Karnataka – rates – 2012

So I recentlty bought (or rather booked) my most expensive acquisition so far. A Volkswagen Polo 1.6L. Every dealer in bangalore was quoting a road tax of 15.4%. But no one was able to substantiate it on paper or from the official RTO site. In addition, there was a team-BHP thread where people talked about it being 13% + 10% cess on tax = 14.3% tax total. I also read the same initially, but then found out that the tax is rather 14% (as mentioned in the addendum) and cess 11% (not updated on site but checked with RTO official on phone).

So, if you are here to find out the road tax in karnataka, hit here:

http://rto.kar.nic.in/KMVTA%202010.pdf

I would ve updated the team BHP thread rather than putting a blog post here but team BHP wont accept my “registration”. Your loss team BHP-ians.

Team Winner, Superstar 2011 @ Yahoo!

The wall of fame poster!
Yodel for the Algorithmic Search Bing Transition Team
The Algorithmic Search Bing Transition team maniacally focused on desktop and mobile migration of web, image and video search in 40+ global markets from Yahoo’s YST infrastructure to Microsoft’s Bing platform. The Bing Transition Team in Bangalore specifically took complete responsibility for transitioning image and video search to the Bing platform. The Bing transition represents a first-of-its kind partnership for Yahoo!. It is an inherently complex relationship, extremely difficult technical transition and horizontal cross company project unlike any Yahoo! has undertaken in the past. But this team was up to the challenge, delivering with speed and quality. Successful completion of the Algorithmic Search transition in multiple global markets will save $150M+ annually in capital expenditure costs, allowing Yahoo! to focus on global search experience innovation and beyond, both in our core desktop search business, but also importantly across mobile and tablet devices.

Team Winner, Superstar 2011

How to restore all apps from backup on android

I ve been changing my roms often on my nexus S, the latest being Icecream. One thing thats always been painful was all application restore across roms. Market downloads it all over again but you ve to wait for it. In my case, my apps size about 300 MB in all, abut 130 apps. So I ve to wait for all of them to download all over again.

There are means and ways of taking backup and restores. But being a command line guy, I always was too lazy for them. That’s when I decided to create my own way of backing up the apps and restoring them.

I am assuming you’ll know what it means by adb and mount when you read them. If not, please head over to xda forums or other similar android forums. Another assumption am making is you are already rooted.

How to take backup of apps before flashing:

1) Go to recovery -> mounts and storage
2) mount /data and /sdcard.
3) mount USB storage
4) go to adb shell
5) Copy your app .apk files to the USB storage
mkdir /sdcard/app_backup
cp -rv /data/app/* /sdcard/app_backup

Once you are done, you can make another copy out of the USB storage on your computer as well.

When you are done with your flash, repeat the above (1-4) steps, and copy the files from /sdcard/app_backup to /data/app/
cp -rv /sdcard/app_backup /data/app/

(there is adb push and pull as well, I ven’t tried that. See adb -h for more info and maybe you can try that as well).

6) clear the cache (wipe cache partition)
7) Advanced -> wipe dalvik cache

8) reboot :)

The reboot might take time after the steps above for restore as it will create the dalvik cache out of the apps.
It might look like its stuck on the bootloader screen (CM round circle or whatever is your rom). Give it sometime, go for a coffee. Time will depend upon your number of apps. I did went for a cup of coffee and it was ready by the time I came back.

This is a very rudimentary post on how to restore apps. You can create nandroid backups as well. In that case your /data will be saved as data.ext.tar or something similar. Just untar it and get the files for restoring.

Let me know if you need more help.

cheers
Anshu Prateek

PS: In case you want to unroot your nexus s to a stock image, here is a good compilation of stock images:
http://forum.xda-developers.com/showthread.php?t=1063664