Edit: Newer, better rom here :
http://forum.xda-developers.com/show....php?t=1440396
ROM + Guide : ICS Final + changes. Aka: ICS Final mod
First, thanks to jusada , slaid480 , ketut.kumajaya , chainfire , nims11 , Grif_07 , GadgetCheck , djsky2011 , EmoBoiix3 and many others for all their hard work and time and the files/info.
-------------

What's different from ICS Final?
Removed:
Calculator, Calendar/Storage/Provider , Deskclock Widget , Download app , Email (gmail not removed) , FM radio , Gallery 3D ( I use quickpic instead, it is faster) , ICS Theme/Theme Manager/Theme Chooser ,
Media Uploader , Music , Pico TTS/TTS Service
Changed:
Market 3.4.4 , Turbo Boost 8.5 , gps.conf , boot animation (Android Particle Ring Blue) , Dolphin browser mini (stock browser removed) , blackhawk kernel by ketut.kumajaya , build.prop
Added:
Iphone ringtone/notification , Root browser free , LagFreeV1 , torch
You can download the removed apps here. To add the ones you want, open IceCreamSundayFinal.zip and add them in system/app (before installing the rom) :
http://www.multiupload.com/4Y0TCOX0P5
If you already installed the rom, copy them with root browser to system/app (don't install them, long press on it to see the menu with copy/paste/permissions) , set permissions to rw-r--r-- , reboot the phone.

-------------
Installation:
1. Download The files:
The ROM Without tweaks (Overclocks better? I put the deep sleep build.prop tweaks in this one as well so battery use will be good too, I recommend this one) :
http://www.mediafire.com/?47k9ha4zu8ytfhg ///
http://www.multiupload.com/Z2Z4YB1PHM /// MD5: aa23c332d82476e34c1ab967a93f5ece
-----
The ROM With tweaks (UI feels slower to me, possibly uses less battery):
http://www.multiupload.com/24JLWTNAQ0 /// MD5: 591e70c92c8ee132f5f76423013f9f47
ClockWorkModAce:
http://www.multiupload.com/GXL1PWOSDE MD5: 08e4419cfb83fbd4217c5f486778f5e4
recovery-clockwork-5.0.2.6-galaxyace-fix:
http://www.multiupload.com/IY2M1YV0QT MD5: ba3d09df567757081da5dd6e8fb2d0b0
2.Connect your phone to your pc with the USB cable, turn on USB transfer from the phone's status bar.
3.Copy the 3 zip files to your phone's SD card. Safely remove the drive from your pc (lower right corner in windows, eject/unmount in linux or mac).
(If you already have CWM, Skip to step 6) (Use Volume Up/ down to move up/down , home button to select items, back to go back.)
4.Shutdown the phone. Press Home and hold it, press power until your phone is on and let go of power, let go of home when you are in recovery, install ClockWorkModAce.zip from your SD card.
5.Reboot, go in to recovery, install recovery-clockwork-5.0.2.6-galaxyace-fix.zip
6.Reboot, go in to recovery, wipe data/factory reset , go in mounts and storage ; format /system ,
press back ; go in advanced ; wipe dalvik cache, press back, go to install zip from sdcard, choose IceCreamSundayFinal.zip
press back, reboot system now.
(Don't worry if you get a sd-ext error, it's because your sd card doesn't have a 2nd partition).
-------------
Setting it up:
Skip Set up your google account(no internet connection, we will do it later). Press next ( I unticked the location options, up to you if you want or not).
Go in Settings,
----
Wireless & Networks:
Turn on and set up wifi / bluetooth if you use them.
Mobile networks : Turn off Data enabled if you don't use mobile data.
If you use data go in : Access Point Names:
Push on the Telus SP text (not the circle),
Name: Koodo SP ; APN: sp.koodo.com ; Proxy: 74.49.0.18 ; Port: 80 ; Username/Password/Server are blank ; MMSC:
http://aliasredirect.net/proxy/koodo/mmsc ; leave the rest like it is.
Press Back and push the circle.
----
CyanogenMod Settings:
Input: Haptic feedback tweaks ; Untick Haptic feedback main if you don't like it ( saves battery too )
Interface: Status bar tweaks: Battery style "percentage" ; Tick Compact carrier label ; Tick Status bar brightness if you want it (change brightness by sliding finger on it)
Press back , go down to Overscroll effect , push on none.
Performance: Tick 16 bit transparency, Allow Purging of assets.
Sound: Mute camera shutter
----
ADWLauncher:
Screen preferences: Untick Wallpaper Scrolling
Drawer Settings: Go down and untick: Animated Drawer, Fade app labels
General Behavior: Untick Sense previews
System Preferences: Scrolling cache "Low quality"
UI Settings: Main Dock Style (I usually set it to 5 and add market, browser, phone, camera )
----
Display:
Animation: No animations
Screen timeout: 30 seconds
----
Location & Security:
Untick Use GPS Satellites
----
Applications: Tick Unknown Sources
Development: Untick USB debugging notify , Tick Stop app via long-press.
----
Accounts & Settings:
Add your google account. (now that we have an internet connection)
Disable Auto-sync if you want to save some battery (add the power widget to the desktop and setting the wifi turns on / off sync if you don't want it to work on 3g).
----
Reboot the phone.
Install SetCPU from the market or from the official thread :
http://forum.xda-developers.com/showthread.php?t=505419
(use Root browser and go to sdcard to install the apk)
Run SetCPU and click Autodetect Speeds. Allow Superuser.
Tick Set on boot.
Go to Profiles, tick enable / notifications.
Add profiles:
In call: Max 787200 , Scaling conservative , Priority 100
Screen off: Max 122880 , Scaling powersave , priority 90
Charging: Min 245760 , Max 825600 (set higher if you want, depends on the phone, I set it to 902400) , Scaling ondemand , Priority 80
Battery: 50% , Max 787200 , Scaling conservative , priority 70
Battery: 101% , Max 806400 , Scaling ondemand (set to conservative to save more battery) , priority 60
(Set min CPU speed to 245mhz to fix wake up lag, uses more battery however.)
Add different/more profiles if you want, these are the ones I use.
----
Install Quickpic from the market (faster than Gallery)
You can add the power control widget to your screen to turn on wifi ( and you can set it to turn on / off sync ) and flashlight / etc. I use this instead of the status bar one (which you can disable in Cyanogenmod settings).
If you want different wallpapers / ringtones go to zedge.com or install their app from the market. Or in dolphin browser there is a speed dial link for wallpapers.
If you use an alternate keyboard, after you set it up, delete Latinime.apk/odex and UserDictionaryProvider.apk/odex from system/app with root browser.
---------
secgps.conf (faster gps lock) :
http://www.multiupload.com/5CHFKN2BF8 ; Copy secgps.conf in the zip file to your SDcard, then copy it to /data/gps/ with root browser (press your finger on it for a few seconds to see the copy and permissions option) , change persmissions to rw-r--r--
Live wallpapers :
http://www.multiupload.com/9TJH4LHDKD ; Copy LivewallpapersPicker.apk to system/app with root browser , set permissions to rw-r--r--
Google maps 5.8 (doesn't lag or crash, don't update it to the newer one) :
http://www.multiupload.com/6BYO7YOOS7 ; Copy to google maps 5.8.apk to system/app with root browser , set permissions to rw-r--r--
Adobe Flash :
http://www.multiupload.com/NWQZY0UKU0 ; Extract and copy to SD and install as a normal app with Root browser.
----------------
How to Calibrate your battery ; guide by Hiroshirou :
1. (phone on) charge to 100% until it actually says full in settings > about phone > status > battery status
2. unplug charger and turn off phone
3. (phone off) plug charger in until it charges to 100%
4. unplug charger and power it on
5. (phone on) plug the charger in and charge it to 100%
6. unplug charger and reboot phone to recovery (into cwm5)
7. go to advanced and clear battery stats.
8. turn on the the phone and charge it to 100% - DONE!
-----------------
How to use link2sd:
Insert your SD card into your pc's SD card reader.
Format it with minitool partition wizard (gparted with linux) , make a primary (not logical) partition fat32 use everything but 500MB , make the 2nd partition primary and ext3 using the rest of the 500mb.
Install link2sd from the market, open it and choose the ext3 option, set it to move apps automatically in the options.