Tuesday, August 21, 2012

Facebook's FlashCache: a Linux ExpressCache?

In a previous post I was trying to get the best of my Samsung Series 5 Ultrabook, with Linux. One of the points that I intended to research is how to implement the ExpressCache in a Linux environment.

ExpressCache, in Condusiv's own words, is an innovative technology developed by Condusiv Technologies to improve system speeds by incorporating SSD technology advances into Windows 7 systems.

In plain English, ExpressCache is a way to utilize the SSD storage as a caching layer to speed up reads and writes during applications runtime, among other things.

Now, in my search for how to implement such technology in a Linux environment, I came upon what I might call a shocking discovery, namely FlashCache. FlashCache is a, shockingly, facebook open source project that introduces the same concept and which was released on April 27, 2010. It seems that facebook, in sake of speeding up their data extraction, for obvious reasons, have developed this technique. It is open source, and it works greatly with Linux (actually, I believe it was developed for Unix/Linux).

Now, Implementing the flashcache is not hard. There are a couple of tutorials online, some of them are specifically for Ubuntu, and a nice Wiki on the Arch Linux Wiki page, but since I crave learning I'm planning on understanding the Block Cache on Linux, first, then implement that on my installation. I'll be fully documenting and blogging about it at a later time.

Sunday, August 5, 2012

eType for Android -- First Impression

I'm working, or trying to start working, on a full "PC Suite"-like application to deal with Android phones. One of my intentions is to have a feature that allows the user of the application to type on his/her PC physical keyboard and see the output on their phone, whether the phone is connected via USB cable, Bluetooth, or WiFi; a feature I used to intensely use with MyPhoneExplorer for Sony Ericsson phones.

This led me to do a quick search about the subject, and I stumbled upon an app in the Play store called eType, from DoMobile. So, I downloaded the free version to my phone, and started playing around for a few minutes.

Here's what I found.

The app's idea is actually impressive, on the creativity side, that is. It ba sically sets a web server on the phone, that you open via your browser and type. Whatever you type in your web browser, on your PC, is then transferred to a med-app in form of keyboard, or input method, that is identified by the phone's OS.

Unfortunately, it works only via WiFi, meaning that there should always a WiFi network that both the PC and the phone are connected to, in order to utilize this app.

Now, if the idea was really creative, the implementation was very poor, in my opinion. Yes, the app works, and the text does appear on the phone's text container, but I couldn't not notice that the app doesn't actually work in real-time; instead it refreshes the text container every half a second, according to my estimation. And when I said "refreshes" I really mean that the app deletes and retypes all the text in the text container each time, about twice a second. This causes two annoyances: first, if you type fast on the computer's keyboard, you'll really feel the lag of the text appearing on the phone. This would even be worse if you decided to look into the phone's screen and type, instead of looking into your PC's monitor. Second, refreshing the whole amount of text in a relatively large document, I'm talking two paragraphs, for instance, results in blinking. With the refresh rate being about twice a second, one feels the phone really flickering.

I still insist on that the idea is nice, probably DoMobile would work more on it to overcome the negative sides.

Wednesday, August 1, 2012

Recovering the ExpressCache on Windows

OK. I did the thing that I'm best at. Formatted my new Samsung Series 5 14" notebook (or ultrabook, though I'm totally convinced). I'm not talking about a normal system partition format, I'm actually talking about a full hard drive and solid disk drive format. To be frank, I thought I was covered, having the Recovery DVD at hand. It turned out that the Recovery DVD is merely a copy of Windows 7 Home Edition, and it didn't even recognize my network card driver!

Unfortunately, I destroyed the Recovery Partition in the process, and hence the recovery option [F4 on booting] wouldn't work, anymore.

Well, it was surprising to me that the Recovery DVD didn't have the drivers embedded, or slip-streamed, into the Windows installation, and I found myself in a very disappointing situation: no drivers and no way to connect to the internet. I tried plugging in my USB modem, but it was like dead. I looked around, and knew that the drivers for the USB 3 ports were also missing. (Later, I realized that the port on the right side of the device is a USB 2).

But to tell the truth, the Samsung web site had all the drivers and utilities needed, although in very large file sizes, which enabled me to download them and install them one by one. As tedious as it was, and feeling those bad feeling of someone working with Windows after being on Linux for quit sometime, I could revive the system to a state very similar to that it was on.

The only thing that was missing now was the instant on feature, or as I knew later, the ExpressCache. I know that this relates to the SSD installed, but I couldn't get it to work. I installed all the drivers, including the intel ExpressCache driver, and the intel ExpressCache application, among the Easy Settings and the Easy Software Manager, but nothing changed. I still don't have that feature.


The feature I'm talking about is the ability to "SLEEP" Windows, with the device going almost on no power. The normal Sleep will keep the power led blinking slowly, but with the express cache thing, it was like an instant hibernate. With setting it to turn on with the lid opening, I also had an instant-on, sort of thing.

I googled around a little, and found this article on NoteBook Review, which pointed to something I found very weird, to say the least. It turned out that for the Intel ExpressCache to work, the SSD must be in Mac Disk format!

I did just that and had the ExpressCache back on.

My next thing to do is try to simulate the same behavior on Ubuntu!