Software Programming and Cooking


Apart from the incidental choice of word “Cooking” to describe Windows Mobile ROM development process, I found out that recently there is really a great similarity between software programming and cooking.

With cooking, you master the science of key culinary skills, and then with some creativity,  you venture into dishing out different cuisine. I am not a food connoisseur, so you don’t expect me to go into details on this, but you should get the point.


 

Now, turning over to software programming (oh my, I suddenly feel so at ease), there is alot of similarities. You need to master the fundamental programming techniques, and you exposed into different type of programming; UI programming, Web programming, Data integration programming, Kernel programming .

And yes, recently I had ventured into kernel programming, something I have never imagined in the past. The reality though is that I was just meddling around with the Linux kernel source, thanks to  Opensource.

So I looked at the various kernel source codes published by various xda-developers, each of which addresses different aspect of kernel improvements. I decided to make a kernel that takes the best of all. The end product is one kernel that incorporates sztupy‘s Universal Lagfix, supercurio‘s Voodoo display tweak (Gamma and Sharpness enhancement), raspdeep‘s overclock and undervolt, and hardcore/ykk_five 341MB memory hack.

Universal Lagfix addresses the poor performance  inherent in Samsung’s original RFS-based storage. The fix is about reformatting specific data partitions into Linux ext4 format, and by doing that, you can expect 200-300% of improvement. The applications no longer run with intermittent freezes (caused by the lag in the file system access), and responses are therefore almost instantaneously.

So one would think, with a 200-300% improvement in performance, what is there to optimise further?

Now Samsung Galaxy S comes with 512MB of RAM, as you would expect from a top tier smart phones in the market. The problem with Galaxy S, is that the amount of RAM available for end user, is only 304MB. There are more than 200MB of RAM reserved for the system, such as video, android OS, etc. It didn’t help when Android has a bad habit of loading installed applications and widgets on start up, which means by the time your phone boots up successfully, you would be lucky to have 80MB RAM free for use. Now in Froyo, the memory management is far more robust than Eclair, but still, with a limited amount of free memory, you end up having frequent memory clean up performed by the OS, resulting in unnecessary instability in the system.  Both ykk_five and hardcore researched and figured out the kernel configuration for reserved memory. With some trial and error (as eliminating memory reservation causes problem with certain applications such as video recording or 3G video call), the folks in xda-developers established the optimal memory configuration. The result is 341MB of available memory (as compared to 304MB). That ensures some stability much needed in the Samsung Galaxy S.

And you would think by now; Samsung must have done something wrong if any more tweaks can be uncovered. You bet! The question now is how much have we optimised the  Cortex A8  processor, i.e. the brain of Galaxy S.  When looking at the kernel source code, folks have figured out that there are compiler flags we could use to compile the kernel to take advantage of the A8 Cortex CPU architecture. Not only that, the team has figured that the CPU can be over-clocked, just like how the PC geeks would have done to their desktop processors.  Additionally, the CPU is currently running at a voltage level that can be further tweaked, i.e. reducing the voltage consumption value  for each CPU frequency step. The end result, is a turbo-charged but super “air-cooled” (and efficient)  Galaxy-S. Unfortunately, there is no real tool out there to measure CPU voltage consumption scientifically, so one can only rely on feel (e.g. lower temperature) and experience (battery consumption level). That said, the under-volt tweak is still being refined as we speak, just to determine the optimal level of voltage that is low enough but not at the expense of CPU running reliably at the desired frequency.

The final installment of the tweak is display. supercurio had definitely done far more research than anybody in xda-developers, and probably even in Samsung development team, to improve on the display gamma and sharpness. More explanation can be found in his web-site, so I wouldn’t regurgitate what has already been documented.

And of course, there are some minor tweaks I did along the way, as I touched the source code for the above tweaks. However, these are experimental at this point, it’s probably not smart for me to disclose until I can conclusively determine the value of such tweaks.

Did I mention the code name of the kernel I have customised? Yet Another Optimised Kernel (YA OK!) … So go flash this kernel  if you happen to own a Galaxy S (sorry only for Europe and Asia Galaxy S owners) and want to turbo charge your phone. You will be surprise how buttery smooth your phone is, and it is definitely much faster than the Voodoo’ed Galaxy S I had awhile back.

Here’s a quick video capture of my Galaxy S running on YA OK Kernel. Enjoy.

114 thoughts on “Software Programming and Cooking

  1. se530 says:

    Great write up. It’s a bit hard to follow all the tweaks that are out there for Galaxy S, so your overview helps to answer a lot of questions at once.

    Will definitely follow the development and try out your kernel when my phone arrives.

    Thank you for all the info and work, and thanks to all the guys who’ve done & tested the tweaks as well!:)

  2. Hey! I realize this is sort of off-topic but I had to ask.
    Does running a well-established website like yours take a massive amount work?
    I am brand new to operating a blog however I do write
    in my diary daily. I’d like to start a blog so I can share my own experience and views online.
    Please let me know if you have any ideas or tips
    for new aspiring bloggers. Appreciate it!

  3. Howdy! This article couldn’t be written much better!
    Looking at this post reminds me of my previous roommate!

    He continually kept preaching about this.
    I am going to forward this information to him. Pretty sure he’s going to have a good read.
    I appreciate you for sharing!

  4. Hello I am so thrilled I found your site, I really
    found you by accident, while I was searching on Digg for something
    else, Anyhow I am here now and would just like to say
    thanks a lot for a incredible post and a all round enjoyable blog (I also love
    the theme/design), I don’t have time to read through it all at the moment but I have bookmarked it and also included
    your RSS feeds, so when I have time I will be back to read much more, Please
    do keep up the awesome b.

  5. Greetings from Los angeles! I’m bored to death at work so I decided to check out your website on my iphone during
    lunch break. I really like the information you present here and
    can’t wait to take a look when I get home. I’m shocked at how quick your blog loaded
    on my mobile .. I’m not even using WIFI, just 3G
    .. Anyhow, good blog!

  6. prix des médicaments tous les medicaments pharmacie en france en ligne
    pharmacie tunisienne en ligne vente de médicaments acheter medicaments sur internet
    medicaments veterinaires produit pharmacie pharmacie on line medicament animaux
    pharmacie discount lyon pharmacie en vente pharmacie france
    en ligne je pharmacie achat pharmacie prix pharmacie générique pharmacie ne ligne pharmacie online belgique

  7. I blog frequently and I really appreciate your
    information. Your article has really peaked
    my interest. I am going to book mark your website and
    keep checking for new details about once per week. I opted in for your RSS feed too.

  8. The company also recruited doctors to serve as authors of ghostwritten by medical literature companies and studies the doctors in question did not conduct.
    Whilst such a large and easily accessible organ apparently
    offers ideal and multiple sites to administer therapeutic
    agents for both local and systemic actions, human skin is a highly
    efficient self-repairing barrier designed to keep. Established
    dental offices offer the best in Portland mercury free dentistry by recognizing the impact
    of toxic materials on the dental and physiological health of children.

  9. I believe what you published was very reasonable.
    But, consider this, what if you composed a catchier post title?

    I mean, I don’t want to tell you how to run your website,
    but what if you added a title that makes people want more?

    I mean Software Programming and Cooking | zen online journal is kinda vanilla.
    You ought to glance at Yahoo’s home page and note how they create article headlines to
    get viewers interested. You might add a related video or a pic or two to
    grab readers excited about everything’ve got to say.
    Just my opinion, it might bring your posts a little bit more interesting.

  10. This leads the two partners to arrange suitable for the intercourse and can support
    considerably within causing the actual experience.
    Foreplay is not only holding in addition to kissing.
    Which is another thing more than this. It must cover many techniques from precisely what ladies likes.

    Variety of how caressing as well as finding that usually are incredibly loved, nonetheless do
    not ever issue the idea as well as older standbys.
    You will need to go beyond the regular to increase the risk for ladies of various age groups turned on. The best
    way to obtain measures to promote foreplay
    would be to have a look at porn videos and sex films jointly.

Leave a reply to https://www.rebelmouse.com/ Cancel reply