Welcome to Eric Cheng's online journal! You are not logged in. [ Log in ]
«  :: index ::  »

Striped OCZ 120GB SSDs (RAID 0 Array) in a MacBook Pro

:: Sunday, September 28th, 2008 @ 1:08:15 am

:: Tags:

Two OCZ Core Series v2 SATA II 120GB SSDs in a MacBook Pro

(Blah blah blah. Skip to the benchmarks.)

Six months ago, I put a 32GB MTRON MSD 3000 SSD drive in my MacBook Pro as a system drive and ran a Samsung 160GB IDE/ATA drive as a data drive in the slot normally taken up by a SuperDrive.

At the time, the MTRON MSD 3000 SSD appealed to me because it is a single-level cell (SLC) SSD, which tends to perform evenly and consistently, especially when being accessed at smaller transfer sizes. Cheaper drives use multi-level cell design (MLC), which historically has had a lower mean time between failures (MTBF), and has been less consistent in its performance. Still, big flash vendors like Samsung have recently switched from SLC to MLC for their consumer products, which suggests that a great deal of progress is being made on MLC drives. MLC drives are MUCH cheaper than are SLC drives, and most consumer solid-state drives use MLC designs, while the enterprise environment still relies on SLC.

My impression is that OCZ has always been an interesting player in the SSD market. They sell a rebadged Samsung SLC 64GB SSD, which is a good performer and has been reviewed favorably. They also sell their Core Series line of SSDs, which feature MLC design. OCZ Core Series drives are much less expensive than are SLC drives, feature larger absolute drive sizes, and burst faster than the SLC drives they are usually compared against. But they suffer in low-transfer size access, and can be pretty inconsistent in performance. This month, OCZ released a spread of Core Series v2 SATA II 2.5″ solid state drives, which claim speeds of up to 170 MB/s read and 98 MB/s write, and are available in 30GB, 60GB, 120GB, and 250GB sizes.

OCZ Core Series v2 SATA II 120GB SSDs
Outside packaging is very simple!

The 120GB OCZ Core Series v2 drive retails for under $500, and the 250GB drive retails for around $900. Back when I put in my MTRON drive, I had been interested in striping two SSDs in my MacBook Pro, but the MCE OptiBay Hard Drive adapter I used to put a second drive into my MacBook Pro was only available with an IDE / ATA interface. Since then, MCE has released a SATA version of the OptiBay. With 120GB drives available for less than $500 and the availability of a SATA OptiBay ($120), I decided to spend $1,100 to put two 120GB SSDs into my aging MacBook Pro.

OCZ drives, unboxed

The OCZ drives arrived in a plain package, but once the outer cardboard layer was removed, it was clear that OCZ had taken some packaging cues from Apple. The inner packaging was beautiful, and made it clear that you had just purchased a quality product. Even thought it was pretty, I don’t like excessive packaging and would have preferred something simple and biodegradable.


Because I wasn’t sure whether the OptiBay SATA interface would work or not, I decided to set up the new RAID array by using external Firewire enclosures. I hijacked two Wiebetech SATA enclosures and installed the OCZ SSDs into them. First, I decided to chain the two drives using Firewire 800. When the drives were connected to the Mac in this way, I was able to successfully access first drive in the chain (the one that was directly connected), but any attempt to access the second drive resulted in its immediate unmounting.

So against my better judgment, I decided to hook up one drive via FW800 and the other via FW400. I wasn’t sure what would happen if I tried to stripe two drives that were on different interfaces, but figured that it would be worth giving a try.

It was here that I ran into my first snag. The last few releases of Mac OS X Leopard have problems with partitioning SATA drives (bug confirmed by an Apple employee — the bug has been around for awhile). I was able to create a partition the first time, but upon deleting it and trying to create a second, Disk Utility gives me a “Resource Busy” error. I booted off of a clean Mac OS X 10.4 boot, and had the same problem. I tried partitioning using a friend’s MacBook (running 10.5.5), and had the same problem. I verified the problem with three different drives (both solid state and spinning). Finally, I hooked the drives up to another friend’s Mac Pro (also running 10.5.5), and was finally able to partition the drives. In fact, I had to do this even when the drives were installed IN my MacBook Pro. I resorted to booting my Mac in Firewire Target mode and connecting it to the Mac Pro for partitioning. Please fix this, Apple. It’s embarrassing!

OCZ SSDs hooked up by FW800 and FW400

Both of the SSDs were connected externally, one using FW800, and the other using FW400. I partitioned the drives (ugh), used Disk Utility to create a striped RAID 0 array, and used SuperDuper! to copy my existing system onto the new system. I benchmarked the striped RAID array on mixed Firewire using QuickBench, and was not impressed. No operation exceeded 40MB/s. I was disheartened, but figured that it was probably the freaky FW800/FW400 combo.

Once the system clone was ready, I waded through the ~25 screws it takes to disassemble a MacBook Pro and installed the two SSDs into the internal drive bays.

OptiBay and dual OCZ 120GB SSDs

The MCE OptiBay allows the installation of a 2.5″ notebook drive into the space formerly occupied by the SuperDrive. The SATA version of the OptiBay is actually a SATA -> ATA bridge. As far as the Mac is concerned, the SATA drive placed into the OptiBay is still accessed as an ATA device. I was worried that this would adversely affect performance, but still wanted to see what would happen if I put the two drives into a striped RAID, even though the interfaces are different.

OCE includes necessary installation hardware with their OptiBay. The set of tools includes a screwdriver base, small screwdriver bits and two Torx bits. I am unhappy to report that their Torx T6 bit stripped before I was able to remove all of the screws in my system (on the last screw, actually). I had to go to Radio Shack and buy a $17 Torx set to finish the install. OCE — please spend the extra 20 cents and include quality bits in your OptiBay package!

Two OCZ Core Series v2 SATA II 120GB SSDs in a MacBook Pro

Here’s the part you’ve probably been waiting for: BENCHMARKS!

I compared the following drive configurations:

  1. 2 x OCZ Core Series v2 SATA II 120GB SSD, Striped RAID 0, 32KB block size
  2. OCZ Core Series v2 SATA II 120GB SSD, SATA interface
  3. OCZ Core Series v2 SATA II 120GB SSD in OptiBay, SATA -> IDE/ATA interface
  4. MTRON MSD 3000 32GB SSD
  5. 250GB stock SATA drive


At small transfer sizes, the single MTRON drive performed at nearly double the speed of any of the other configurations, which is what you’d traditionally expect of SLC vs MLC. At 16KB, the OCZ SATA configuration beats out the MTRON, but the OCZ IDE bridge still lags behind. In fact, the OCZ in the IDE bridge was never faster than the MTRON, but still managed to perform respectably.

The OCZ striped RAID lagged behind until transfer sizes reached 64KB, and at 256KB and above, it started to kick serious butt.


Take a look at the single OCZ SATA configuration compared to the MTRON. The MLC OCZ actually manages to outperform the MTRON at transfer sizes of 16KB and larger. Note that the IDE bridge configuration still lags behind.

At small transfer sizes, the OCZ RAID is slower than the rest, but manages to match and then beat the other configurations at 64KB and larger.


Random reads and writes are where SSDs outperform spinning drives in a major way. The SLC MTRON drive performs really well here, but even the worst performing MLC SSD configuration is still 22 times faster than the 250GB spinning drive at 4KB. As before, the striped setup starts performing faster than other configurations at 64KB.


This is the only test where the striped setup performed comparably at small transfer sizes. Interestingly, all configurations of the OCZ drives outperformed the MTRON drive significantly, and the spinning drive actually managed to outperform the MTRON across most of the tests.



No surprises here for large reads and writes. The striped setup kicks butt. For large reads, the RAID is (approximately) 50% faster than a single OCZ SATA drive, 81% faster than the OCZ drive in the IDE bridge, 55% faster than the MTRON, and 168% faster than the 250GB spinning drive. For large writes, it is (approximately) 37% faster than the single OCZ SATA, 90% faster than the OCZ / IDE bridge, 51% faster than the MTRON, and around 110% faster than the 250GB spinning drive.


I’m not sure how OCZ can claim speeds of up to 170 MB/s read and 98 MB/s write for their Core Series v2 solid state drives. Where do those numbers come from? The MTRON benchmarked pretty much at claimed values, but the OCZ is way off.


In the beginning, I wasn’t sure that I’d keep a striped setup, but after running all of these benchmarks and using the system for a few days, I’m totally sold. (And… queue Digg fanboys NOW, who will surely chime in to forecast data doom due to using a RAID configuration.)

I think I would have been happy running at speeds the single OCZ SATA Core Series v2 can sustain, but the second interface in the MacBook Pro is IDE / ATA, and the OCZ drive in the MCE OptiBay SATA bay just cannot keep up. The striped setup is so much faster than the OCZ in an OptiBay that keeping the stripe seems like the right thing to do.

I do have to say that I feel dirty for having a striped setup that uses different interfaces for the two drives. However, I haven’t had any problems with the setup so far, and I have been banging on the system pretty hard for over a week now.


  1. It can sometimes take 10-15 seconds before I get a Mac boot icon upon cold restart. RESOLVED. See update, below.
  2. Waking from sleep can sometimes take 5-10 seconds. But most of the time, it is instant. (UPDATE: I haven’t seen the wake delay since the first day)
  3. When I had the MTRON SSD system / IDE data setup, my machine would sometimes freeze upon wake. This hasn’t happened yet with the new setup.
  4. When I had the MTRON SSD system / IDE data setup, my machine would occasionally lose symbolic link from the 2nd volume to my user folder upon startup, which made Mac OS X think I had no data. I don’t think this was related to the SSD, but nevertheless, it was an issue. To fix each time, I had to remove the dummy volume Mac OS X would create, and recreate the proper symlink in /Volumes.


The new setup is really great at suspending and resuming virtual machines. For example, resuming my VMWare Fusion Windows XP virtual machine right after a reboot (so there is no chance of caching) takes 11.9 seconds. Resuming the same virtual machine again (when cached) takes 4.7 seconds. I like those times.

The performance is really spectacular when doing things when searching on Mail.app, or multitasking in any way. I can have lots of disk-intensive stuff going on and still get around my machine as if nothing were happening in the background. I posted a bunch of videos the last time. They still apply.


April 9, 2009: I’m still enjoying having the OCZ SSDs in my MacBook Pro, but I’m definitely noticing write delays when multitasking. This is a known problem with the older OCZ drives, but has only been a problem when doing things that would also take down a machine running on a standard, spinning hard disk.

May 27, 2009: I solved the 10-15 second hard boot delay. The problem was that the startup disk wasn’t set. All I had to do was go into the Startup Disk preference pane and make a selection. I can’t believe it took me 6 months to figure this out!

| San Francisco, CA | link | trackback | Sep 28, 2008 01:08:15
  • Pingback: Beyond Cool: Striped 120GB SSD RAID in a Macbook Pro « Psychohistory

  • Wes

    I’m glad you’re happy with that setup. I’m still deciding on what to do with my setup when the new MBP’s come out. I guess we’ll see what the old lady has to say about it first huh?

  • x4hu

    Nice I always wanted to see some benchs of leopard / applications loading ! Any chance of a 2x striped SLC test ? :D

  • http://echeng.com echeng

    You gonna donate two SLC drives to me? ;)

  • x4hu

    LoL :p Well I understand you.. they’re hella expensive.. But if only you could borrow one form somewhere, that would be interesting to compare the [mlc raid 0] vs [slc raid 0] on sequential tests… Don’t you still have your 32 GB mtron ?

  • Henrik

    One thing that stands out to me is that when I benchmarked my dual SSD set up with raid 0 I got about the same figures: 150 meg read. And my disks are rated slower than yours about 100 meg / second.

    So perhaps there is a limit to what a SATA+PATA raid 0 in a macbook pro can do… But I agree that it is very fast and lots of fun to have ;)

  • http://echeng.com echeng

    Henrik – I’ll bet two MTRONS would RAID better than did the OCZs. My OCZs are benchmarking at just under 100MB/s as single drives. Their 170MB/s rating seems bogus…

  • Henrik

    My disks delivered about 100 megs when I tested them.

    In a Swedish forum they tested the 64 meg version of the same OCZ drive that you have, but in a Mac Pro, and they saw about 140 meg / sec.

    Maybe the SATA-port on the macbook pro can only handle about 100 meg / sec? Anyhow dual SSD with raid 0 is awesome!

  • Pingback: Around the web | alexking.org

  • Sergev

    I don’t understand why would anyone buy a $120 converter, meanwhile someone can buy one for $42 from different vendors. I bought two of these, they are prefect! One goes directly in a MacBook for a second normal hard drive I had laying around, and the other is for something more interesting. I’m waiting for montevina MacBook pro’s, and when they finnaly hit the stores I will be one of the first to buy one, to put this converter in also. On the normal sata port there will come a ssd, thinking about intel or yet to apear samsung ssd, and as a second drive a samsung spinpoint 500 GB hard disk. I personaly wouldn’t go for ocz core series. The controllers give a bad performance.

  • http://echeng.com echeng

    Sergev – do you have links for the cheaper converter and adapter for the MBP optical bay?

  • Sergev


    These are ment for standard tray loading noteboks, but if you remove the plastic front it will fit in to any Macbook or MacBook pro. The connector is the facto standard in most notebooks including the MacBook and MacBook pro. I ordered two of these, because I think the optibay is a complete rip of. If only apple would use sata optical drives….. man that would be fast. And build in native raid support for two hard disks! But I’m guessing we wont be seeing this anytime soon.

    (Please don’t pay any attention to my grammar, english is not my native language.)

  • Sergev

    Oeps I suddenly see that the link doesn’t work. Anyway you can find it at newmodeus.com under caddy’s/optical bay hd

  • http://echeng.com echeng

    Sergev — the link works fine for me. Thanks for the link! Very useful.

  • Daan

    You’ve beat me to it :)

    I was planning the same setup except with two 60gb Core v2′s in a june 2008 white macbook 2.4ghz. I first ordered one ssd to test it a main drive. It feels very fast at regular usage which in my case means heavy usage. Generally as a webdeveloper I run about 20 apps at a time and before I had the ssd switching from Photoshop to VMware Fusion with XP would be the best time to get another coffee. Now: no problem.

    For statistics: I get about the same benchmark resuls as you with a single ssd. But I don’t really care much about benchmarks. Real world usage is far more important (to me anyway) and I’m happy to say the bottleneck the original drive used to be is totally gone.

    I have the same wait time at coldstart (takes long before apple logo).

    But… the geek in me is planning to buy a brand new 15″ MacBook Pro, the new ones which do have a sata optical drive. So I will buy another Core v2 60gb and I’ll buy that optical bay thing from Newmodeus since Optibay is too expensive and doesn’t have a model for the new macbooks anyway. Can’t wait till I have enough finances!

    @Eric: I just have to say I love your spam protection. Genius. Period. I’m shamelessly going to copy that.

  • http://echeng.com echeng

    @Daan – thank you re: spam protection! Quite a few people have copied it since then. I’m always glad to help spread ways to combat spam of any kind. :)

  • Sergev

    After reading your experiments with regular hard drives, with a single mtron and now with two ocz’s i’m thinking about doing the same thing. There’s only one thing I won’t do the same, and that is using the ocz’s. After reading many reviews about the jmicron controller I think i’ll stick with slc based ssd’s for now. I’ll buy myself two mtron sssd’s of the 7500 pro series. Two 16 GB drives in raid 0 with a 32 GB epresscard as extra storage. I hould have a theoretical transfer rate of 260 MB/s read an 240 MB/s write. That is of course the theory. Luckily the new macbook pro’s use a sata optical drive wich prevents slowdowns by the ATA bus.

    My new macbook pro is on its way by now. When it arrives and the ssd’s are put in i’ll take a look at performance and post it here as well. There is also something I wanted to ask you eric: Do you feel the ssd’s are lighter than the optical drive and the hard disk combined or does it make no difference at all?

  • http://echeng.com echeng

    I know the SSDs are lighter, but I can’t feel the difference, subjectively.

    Hey, do you know if the optical bay you linked to will fit into the new Macbook Pro? It says that it should fit in any “standard 12.7mm-high” CD/DVD/Optical drive bay found in laptop computers, but the new MBP is thinner, and I don’t have one I can measure.

  • http://barclayhorner.com Barclay

    I gave a call to Nomodeus today to ask if there optical drive bay module would fit in a alu MBP. They told my that it would not but they were making one to come out in January/February. In the meantime I have ordered an optibay and I am taking a real hard look at G.skills 128gb ssd on New Egg going for $259.00.

    Eric, I am really curious with all of your drive modifications that you have done, how has it affected your performance with aperture and cs3. Fast start up times are neat, but photo processing cost/performance is the main goal for me.

    Your site and work is awesome btw.

  • http://philikon.wordpress.com/2008/12/10/two-hard-drives-in-a-macbook-pro/ philiKON

    Indeed, the NewModeUS optical bay cage won’t fit into the MBP, but it can be made to fit with some simple tools, as I’ve demonstrated on my blog: http://philikon.wordpress.com/.....cbook-pro/.

  • Data

    Hello all, great read about the Raid in the MBP thanks for that ;-).

    I would like to ask your opinion on these drives in comparising to the available 7200rpm drives.I’m hoping to get a new Alu MBP by the end of this year and i would luike to know if a single SSD 120 Gig drive, would out perform a 7200rpm hdd.

    Basicly the difference between a 320Gig/7200rpm hdd and a 120gig SSD drive like the OCZ used here. I will be using it as a dj set up with serato ( music is on an external drive of course ) and recording at the same time, so i think that will be I/O intensive and for that reason could benefit from the read/write speeds of a ssd.

    In comparrising it’s more then twice as expensive, but if the reliability goes up ( no moving parts ) and the real life handeling of the apps goes up i would definitly loan ;-), the extra bucks to get a ssd drive.

    So if any of you have any experience with the new MBP and one of those , or any other brand of SSD , could you tell me please if it is wotrh it, thank you in advance, Data.

  • http://philikon.wordpress.com philiKON

    I can verify that the NewModeUS optical bay cage doesn’t fit into the MBP. However it can be made to fit with some simple tools. I’m now happily enjoying two harddrives in my machine as well, albeit in a different setup. See http://philikon.wordpress.com/.....cbook-pro/ for details.

  • http://barclayhorner.com, Barclay Horner

    I ended up ordering a standard optical bay HD tray from newmodeus for $44.00. Included in the tray is a pata/sata bridge. The tray itself will not fit in the aluminum MBP. But I removed the bridge and connected a drive to the logic board with it while securing the drive with a couple pieces of adhesive Velcro. Works great and the drive is securely in place. My favorite part about having raid 0 ssd other then the speed is not hearing the superdrive twitch upon start up. So yes, the newmodeus device is a cheaper alternative then the optibay. But you will need to be ok with an alternative method of securing the drive.

  • david

    Snaps to Eric for inspiring me to ditch the optical drive. This blog tipped me over.

    Anyone having sleep issues with the OptiBay? I have a unibody (late 08) MBP and I cannot wake my computer from sleep (with an Intel X-25M SSD in the Optibay as startup disk).

    I’ve tried a bunch of different things, but no matter what I do…when I sleep the mbp (by closing lid or clicking sleep), the thing won’t wake…that white led just shines and shines…

  • PoPPaP


    I have no problem waking up with OptiBay. I have 15″ Unibody MBP. 2x Samsung 256GB SSD in RAID0

    Have you tried swap the drive from the OptiBay to the HDD bay? But I shouldn’t make any different though…

  • http://echeng.com echeng

    Here is an excellent article comparing the new OCZ Vertex series to the Intel X25-M SSD (and others). It is definitely worth reading!

  • http://mfinocchiaro.wordpress.com/ Michael Finocchiaro

    Which of these is inside the new mid-2009 17″ MBP? How good is your overall VMware performance on the SSD? Are you so convinced that you are never going back to traditional spindle drives? I am hesitating b/w the 500GB 7200 rpm and the 256GB SSD primarily because I think that VMware might drive the performance down. I don’t suppose that there are numbers comparing the drives here with the Intel X25-M that everyone is raving about? Post XXVI alludes to an article but leaves no URL to get to it…

  • http://www.joeonsecurity.com Joe Magee

    Hey Ed, great article! Thanks for sharing your success with the combo. I’m picking up two OCZ Vertex EX SLC SSD Drives in about a month. I have a vendor who is picking up a large lot of them and is going to break me off with a pair for a very good price. I’m realllly pumped to see how the SLC Drives will do in the config. I’ll be sure to post my results and for comparitive purposes I’ll run the same tests that you did.

    BTW, what filesystem did you format the drives in?

    Thanks again Man! - Joe Magee

    P.S. I may ping you if I get hung up on the drive formatting I’ve experienced that issue previously hand had some issues.

  • Pingback: Solid state drives « Unscrubbed

  • Pingback: Must Try Pizza in Johnson City

  • Pingback: costa rica escazu real estate for sale

Journal Home
Where is Eric? (password)
Stuff for Sale
February 2014 (2)
December 2013 (1)
October 2013 (1)
June 2013 (3)
May 2013 (2)
April 2013 (3)
March 2013 (1)
February 2013 (2)
January 2013 (3)
November 2012 (2)
October 2012 (3)
September 2012 (8)
August 2012 (8)
July 2012 (8)
June 2012 (8)
May 2012 (5)
April 2012 (8)
March 2012 (15)
February 2012 (7)
January 2012 (6)
December 2011 (8)
November 2011 (10)
October 2011 (12)
September 2011 (8)
August 2011 (14)
July 2011 (9)
June 2011 (9)
May 2011 (11)
April 2011 (11)
March 2011 (12)
February 2011 (23)
January 2011 (22)
December 2010 (16)
November 2010 (17)
October 2010 (26)
September 2010 (24)
August 2010 (24)
July 2010 (30)
June 2010 (26)
May 2010 (21)
April 2010 (26)
March 2010 (19)
February 2010 (17)
January 2010 (29)
December 2009 (21)
November 2009 (23)
October 2009 (32)
September 2009 (19)
August 2009 (34)
July 2009 (21)
June 2009 (30)
May 2009 (23)
April 2009 (18)
March 2009 (6)
February 2009 (25)
January 2009 (5)
December 2008 (6)
November 2008 (22)
October 2008 (27)
September 2008 (25)
August 2008 (34)
July 2008 (34)
June 2008 (32)
May 2008 (26)
April 2008 (15)
March 2008 (19)
February 2008 (31)
January 2008 (43)
December 2007 (33)
November 2007 (29)
October 2007 (29)
September 2007 (9)
August 2007 (19)
July 2007 (10)
June 2007 (17)
May 2007 (26)
April 2007 (38)
March 2007 (39)
February 2007 (13)
January 2007 (35)
December 2006 (35)
November 2006 (14)
October 2006 (6)
September 2006 (20)
August 2006 (24)
July 2006 (32)
June 2006 (17)
May 2006 (22)
April 2006 (16)
March 2006 (16)
February 2006 (26)
January 2006 (33)
December 2005 (17)
November 2005 (21)
October 2005 (17)
September 2005 (17)
August 2005 (5)
July 2005 (15)
June 2005 (20)
May 2005 (25)
April 2005 (7)
March 2005 (22)
February 2005 (20)
January 2005 (38)
December 2004 (6)
November 2004 (24)
October 2004 (16)
September 2004 (22)
August 2004 (12)
July 2004 (17)
June 2004 (15)
May 2004 (11)
April 2004 (35)
March 2004 (40)
February 2004 (29)
January 2004 (36)
December 2003 (20)
November 2003 (18)
October 2003 (10)
September 2003 (18)
August 2003 (10)
July 2003 (34)
June 2003 (12)
May 2003 (49)
April 2003 (42)
March 2003 (42)
February 2003 (15)
January 2003 (7)
December 2002 (17)
November 2002 (19)
October 2002 (24)
September 2002 (22)
August 2002 (20)
July 2002 (21)
June 2002 (14)
May 2002 (15)
April 2002 (11)
March 2002 (13)
February 2002 (20)
January 2002 (17)
December 2001 (16)
Even Older Journal
Travel Journals

(25) (2) (1) (3) (1) (1) (1) (6) (2) (3) (11) (8) (3) (1) (1) (4) (2) (4) (2) (1) (6) (1) (1) (1) (6) (2) (1) (1) (1) (3) (1) (5) (1) (1) (23) (1) (1) (1) (1) (1) (14) (1) (10) (1) (1) (2) (1) (1) (1) (27) (6) (3) (2) (4) (4) (1) (1) (41) (11) (12) (4) (38) (1) (3) (2) (4) (1) (1) (1) (1) (2) (1) (1) (1) (1) (1) (10) (25) (8) (3) (2) (3) (2) (1) (5) (1) (1) (2) (1) (1) (14) (1) (5) (1) (1) (5) (43) (1) (1) (1) (3) (24) (1) (1) (1) (1) (5) (1) (4) (1) (1) (10) (1) (3) (1) (1) (1) (1) (6) (5) (1) (1) (1) (3) (1) (3) (1) (1) (1) (69) (4) (3) (7) (3) (1) (16) (6) (1) (29) (1) (7) (1) (4) (4) (4) (1) (1) (1) (1) (1) (1) (1) (10) (4) (4) (2) (1) (89) (14) (1) (2) (79) (2) (2) (1) (1) (1) (1) (1) (1) (3) (2) (3) (1) (1) (24) (3) (5) (4) (1) (2) (1)
Most Popular Posts of All Time

Eric Cheng's RSS Journal Journal RSS
Eric Cheng's RSS Journal Comments RSS

proudly powered by wordpress
script exec time: 0.59s
i hate computers.