Wednesday, April 6, 2011

960 Fluid Grid System Bake Templates

(This article is by tom_m from the bakery of CakePHP) - Really useful tutorial for fast bakers.
Want to use 960 grid system in your baked app? Ever see this "fluid" template that uses it? http://www.designinfluences.com/fluid960gs - I put it into some bake templates.
It's not that I don't like the default baked views, but I wanted something more generic and flexible. This template is extremely fast to work with too. You can add more boxes and other content very easily as opposed to the default bake templates.

If you are unfamiliar with the 960 Fluid Grid System template created by Stephen Bau, then check out the link in the intro. It's a very clean and basic gray/black/white layout with some nice collapsible divs and accordions and such. The page even says, "templates for rapid interactive prototyping." Sounds like a perfect match for a rapid framework like CakePHP.

You can download the file from my server: http://www.shift8creative.com/files/960-fluid-cakephp-bake-template.tar.gz

Not to take you away from the Bakery or anything, but if you were so inclined, you can see some screenshots on my site: http://www.shift8creative.com/project/960-fluid-grid-system-cakephp-bake-templates

How do you use it? Look at the README in the zip file, but basically you'll want to copy/merge the files in the same structure to your app. Then when you go to bake your view templates you should have a numbered option with "default" and "960grid" to choose from. Maybe others too if you have more bake templates. Anyway, choose "960grid" and that's it. You should be set.

Check out the manual for more information: http://book.cakephp.org/view/789/Modify-default-HTML-produced-by-baked-templates

How to Quit Facebook - by wikiHow

I took this information from here. The credits belongs to them. Good Job, since I quit my FACEBOOK!!! LoL...

  1. Admit you might have an addiction to Facebook. and keep track of what you actually do on Facebook. After every Facebook session, ask yourself: "What did I just accomplish by checking Facebook?" Odds are, you're probably just logging in to see if you've been poked, or for updates of when your friends change their profile image, write a new note, add a new song to their favorite music, and do other little things that you can really live without knowing. But those might be the little things that keep you on a very short leash. At first you're confirming a new friend, and next thing you know, you've spent an hour looking at all the new people you're connected to. Recording your Facebook activities can help you realize how much time you actually spend getting nothing constructive done.
  2. Define your goals on Facebook. Make a list of what you really want from it. Why did you originally sign up? So you could remember friends' birthdays? Find and keep old friends? Meet people with similar interests? Whatever your goals may be on Facebook, you need to make sure that you devote your time there to accomplishing those goals, instead of going off track with activities that get you nowhere. If you have no goals (i.e. if you signed up just because you had nothing better to do), skip the next step.
  3. Make and follow a Facebook schedule. After each Facebook goal, write down how much time and at what frequency you'll need to be on Facebook to achieve that goal. Then write down the total number of hours, per week, that you should be spending on Facebook. If it seems like too much time, adjust your activity times accordingly. Following this schedule might bring your Facebook addiction under control without requiring you to quit altogether. Some examples:

    • Stay in touch with college friends - Check every other day, spend no more than 15 minutes responding to messages only from college friends. (1 hour per week)
    • Maintain my group - Check every morning and evening for 10 minutes each, only to remove any spam or junk. Note to self: do not respond to posts, comments or messages during this time. (2 hours, 20 minutes per week)
    • Keep my group interesting - Spend 30 minutes every other day reading all of the comments and responding. (2 hours per week)
    • Finding new friends - Browse profiles for 30 minutes, twice a week. (1 hour per week)
    • Total maximum time I plan to spend on Facebook: 6 hours, 20 minutes.
  4. Think of other things you could be doing with your time spent on Facebook. If you find yourself spending, say, 10 hours a week on Facebook, make a list of all the other things you could accomplish in that time. You could:

  5. Block the time you spend on Facebook. You can use a free self control program called ColdTurkey to temporarily disable your access to popular social media websites. Parental control programs such as EzInternetTimer or TimeUpKidz can also help.
  6. Goodbye, Facebook account
    Goodbye, Facebook account
    Leave Facebook. If you've created a schedule and couldn't stick to it, or if you've decided that any time spent on Facebook is wasted, then you may need to quit cold turkey. This is a last resort, and is easier said than done. There are two options here. You can deactivate your account or delete your account:
    • Deactivate your facebook Account - this lets you take a breather without losing the information; or
    • Permanently delete your Facebook account - this is the real end, everything will go!
    • If you've started any groups, transfer admin rights to someone you trust.
    • Clear every last bit of information from your profile. Don't forget to remove your photo!
    • Send an email to your Facebook contacts explaining your decision to leave. Include your current contact information so they can get in touch with you without Facebook.
  7. Find alternatives to using Facebook. If you've gotten into the habit of using Facebook messages instead of email, update your email address book so you can get in touch with your friends next week and continue your correspondence outside of Facebook.
  8. Turn your profile into a pile of useless data! This is another way to "delete" a Facebook account, and you might have fun doing it. When you wake up the next day, your profile is gone. For good. Amen.
    • Delete all your "friends" - unless you want to show the World you're quitting for good.
    • Change the profile’s name - you can do that. Be sure to choose something really lousy.
    • Fill it up with offensive content - texts, dubious pics and all.
    • State clearly that Facebook employees are just a bunch of - beep - beep - beep - fill in the beeps with the most politically incorrect insults.
    • Invite lots of randomly picked people to become your “friends”.
  9. Find a Facebook substitute. A lot of people get addicted to Facebook because they check it when there's nothing else to do, like in between classes, or during a lunch break; then the curiosity spills over into time that should be spent doing other things, like studying or working. You need to find something to do during those little windows of time in order to prevent relapse. There are several ways to give yourself a "Facebook patch":

    • Stay away from the computer as much as you can. For many of us, getting in front of a monitor is a default activity. Try to find other things to do that'll keep you away from the computer and therefore, Facebook. Keep a notebook. Meditate. Finger weave. Learn to do impressive tricks with a tech deck. Call your friends on the phone or do something fun with them in person. Anything that you can do anywhere and for short periods of time is good.
    • If you're at a computer during critical relapse times, find another website to log onto and read instead of Facebook. Yes, you may get addicted to that instead, so try to find something that's actually a constructive pursuit, like checking news websites, learning a new word each day, sharpening your mental skills by solving a sudoku, practicing that foreign language you decided to learn, or contributing to the How-to Manual Anyone Can Edit.

Have you ever wondered what webserver is a site is using??? Now, wonder no more!!!

Ini adalah add-on untuk Mozilla Firefox. Yes, another super-cool-useful addon for Firefox Web Browser. Server Spy indicates what brand of HTTP server (e.g. Apache, IIS, etc.) runs on the visited sites. When a tab is selected, the corresponding server name is shown on the right-hand side of the browser's status bar.

(Aku pun baru tau yang google pakai customized web server called GWS for their main page and GSE for their mail server.)

Image Gallery


Tuesday, April 5, 2011

Nginx... better alternative to apache ^o^

That's right folks!!! Nginx is said-to-be better than apache in terms of performance and memory usage!!! Apa lagi kawan2... let's tukar to Nginx!!!

Nginx is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. Igor Sysoev started development of Nginx in 2002, with the first public release in 2004. Nginx now hosts nearly 7.65% (22.8M) of all domains worldwide.

Nginx is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption.

Nginx is one of a handful of servers written to address the C10K problem. Unlike traditional servers, Nginx doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load.
Even if you don't expect to handle thousands of simultaneous requests, you can still benefit from Nginx's high-performance and small memory footprint. Nginx scales in all directions: from the smallest VPS all the way up to clusters of servers.

Nginx powers several high-visibility sites, such as WordPress, Hulu, Github, Ohloh, SourceForge and TorrentReactor.


Nginx-book-packt.png

Nginx book is available!

Clement Nedelcu has written the first English book covering Nginx including such topics as downloading and installing Nginx, configuring and using modules, and much more. It provides step-by-step tutorials for replacing your existing web server with Nginx. With commented configuration sections and in-depth module descriptions, you will be able to make the most of the performance potential offered by Nginx.


Both [Apache and Nginx] are capable of serving a huge number of requests per second, but Apache's performance start decreasing as you add more concurrent connections whereas Nginx's performance almost doesn't drop!

But here comes the best bit: because Nginx is event-based it doesn't need to spawn new processes or threads for each request, so its memory usage is very low. Throughout my benchmark it just sat at 2.5MB of memory while Apache was using a lot more.

-- WebFaction


Monday, April 4, 2011

Installing PHP with OCI8

Installation

Configuring PHP with OCI8

Review the previous Requirements section before configuring OCI8.

To enable the OCI8 extension, configure PHP with the option --with-oci8 .

Before starting the web server, OCI8 typically requires several Oracle environment variables (see below) to locate libraries, point to configuration files, and set some basic properties such as the character set used by Oracle libraries. The variables should be set before any PHP process starts.

PHP should be run with the same, or more recent, major version of Oracle libraries as it was configured with. For example, if you build OCI8 with Oracle 11.2 libraries, then PHP should also be deployed and run with Oracle 11.2 libraries.

Installing OCI8 as a Shared Extension

The configuration shared option builds OCI8 as a shared library that can be dynamically loaded into PHP. Building a shared extension allows OCI8 to be upgraded easily without impacting the rest of PHP.

Configure OCI8 using one of the following configure options.

  • If using Oracle Instant Client, then do:

    ./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib

    If Instant Client is installed from ZIP files, make sure to create the library symbolic link, for example ln -s libclntsh.so.11.1 libclntsh.so.

    If using an RPM-based installation of Oracle Instant Client, the configure line will look like this:

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle//client/lib

    For example, --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib .

    Note that Oracle Instant Client support first appeared in PHP 4.3.11 and 5.0.4 and originally used the option --with-oci8-instant-client to configure PHP.

  • If using an Oracle database or full Oracle Client installation then do:

    ./configure --with-oci8=shared,$ORACLE_HOME

    Make sure the web server user (nobody, www) has access to the libraries, initialization files and tnsnames.ora (if used) under the $ORACLE_HOME directory. With Oracle 10gR2, you may need to run the $ORACLE_HOME/install/changePerm.sh utility to give directory access.

After configuration, follow the usual PHP building procedure, e.g. make install. The OCI8 shared extension oci8.so library will be created. It may need to be manually moved to the PHP extension directory, specified by the extension_dir option in your php.ini file.

To complete installation of OCI8, edit php.ini and add the line:

extension=oci8.so

Installing OCI8 as a Statically Compiled Extension

Configure OCI8 using one of the following configure options.

  • If using Oracle Instant Client, then do:

    ./configure --with-oci8=instantclient,/path/to/instant/client/lib
  • If using an Oracle database or full Oracle Client installation then do:

    ./configure --with-oci8=$ORACLE_HOME

After configuration, follow the usual PHP building procedure, e.g. make install. After successful compilation, you do not need to add oci8.so to php.ini. No additional build steps are required.

Installing OCI8 from PECL

The OCI8 extension can be added to an existing PHP installation either automatically or manually from » http://pecl.php.net/. Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » http://pecl.php.net/package/oci8.

For an automated install follow these steps:

  • If you are behind a firewall, set PEAR's proxy, for example:

    pear config-set http_proxy http://my-proxy.example.com:80/
  • Run

    pecl install oci8

    When prompted, enter either the value of $ORACLE_HOME, or instantclient,/path/to/instant/client/lib.

    Note: Do not enter the variable $ORACLE_HOME because it will not be expanded. Instead, enter the actual path of the Oracle home directory.

For a manual install, download the PECL OCI8 package, e.g. oci8-1.3.5.tgz.

  • Extract the package:

    tar -zxf oci8-1.3.5.tgz
    cd oci8-1.3.5
  • Prepare the package:

    phpize
  • Configure the package, either using $ORACLE_HOME or Instant Client

    ./configure -with-oci8=shared,$ORACLE_HOME

    or

    ./configure -with-oci8=shared,instantclient,/path/to/instant/client/lib
  • Install the package:

    make install

After either an automatic or manual install, edit your php.ini file and add the line:

extension=oci8.so

Make sure the php.ini directive extension_dir is set to the directory that oci8.so was installed in.

Thursday, March 31, 2011

Magic Rescue

And here is the useful command to get back your files (depends on the recipes). Please go to /usr/share/magicrescue/recipes to see more recipes.
sudo magicrescue -d ~/output2 -r /usr/share/magicrescue/recipes/msoffice /dev/sdb

Magic Rescue

Magic Rescue scans a block device for file types it knows how to recover and calls an external program to extract them. It looks at "magic bytes" in file contents, so it can be used both as an undelete utility and for recovering a corrupted drive or partition. As long as the file data is there, it will find it.

It works on any file system, but on very fragmented file systems it can only recover the first chunk of each file. Practical experience (this program was not written for fun) shows, however, that chunks of 30-50MB are not uncommon.

(A good tool for recovering lost/corrupted data files using Linux (in my case, Ubuntu)).

http://www.itu.dk/people/jobr/magicrescue/

Sunday, March 27, 2011

Nak Paparkan Gambar beserta link di dalam CakePHP 1.3

Nak Paparkan Gambar beserta link di dalam CakePHP 1.3


HTML special characters in $title will be converted to HTML entities. To disable this conversion, set the escape option to false in the $options array.


  1. echo $this->Html->link(
  2. $this->Html->image("recipes/6.jpg", array("alt" => "Brownies")),
  3. "recipes/view/6",
  4. array('escape' => false)
  5. );
  6. ?>


CakePHP 1.2: $html->link with html or image.

A good tutorial for CakePHP I took from DLMax, thanks Max!!!

In CakePHP 1.1 if you need to display an image or piece of HTML with a link to an action, you need to instruct cake NOT to escape the contents of the “Title” attribute with the last false statement like this:

e( $html->link(   $html->image("add.gif"),   array('action' => 'add'),   array(),   null,   false ));

In CakePHP 1.2 you could rewrite this to:

e( $html->link(   $html->image("add.gif"),   array('action' => 'add'),   array('escape' => false)));

Saturday, March 26, 2011

LG Optimus One Promo By Digi

I am thinking of getting the phone but just chat with a Digi Sales Person, this phone is not listed for the RM 23 / month Smart Plan Package. So still need to pay RM 63 / month. So still have to wait to get an android for myself. Haizzz.

LG Optimus One
The World’s BEST LG Android Phone
Optimised for Google™ Services
Including Google Goggles™.
Android Froyo 2.2
Get peak performance with Android 2.2 experience.
LCD Touchscreen
With 320x480 pixel resolution.



DG Smart Plan™

RRP RM 899
12 months
contract
RM 549

24 months
contract
RM 299