Random pic

Jan12-1688
Pengisar daa…
Sample simple
Simple sample
Jan12-1700
Nak beli dosa?
Jun09-047
Photoshopped
Oct11-1356
Tulisan jawi: “chiz nyiza”
Oct11-1355
eor…
Mac07-020
Puma?

Up & running

Yesterday I found out this blog was inaccessible. It showed some sort of error page. I have had this problem before, due to high usage in MySQL, so they (hosting provider) suspended this free account. So I login the cPanel to see what’s wrong. It shouldn’t be because of high usage, since the analytics shows no spike.

But during the login process I found out something – the login URL has changed. On further observation, there’s a small announcement in cPanel that told me to use a new IP address to access the FTP. So to summarize, the hosting provider relocated my account to another server so the IP address was changed too. The domain name still resolve the IP address to the old one, so that’s why this blog was inaccessible. With simple nslookup & updating IP address records in Cloudflare, this site is up and running.

So, the moral of the story is, know what you are paying for. This site is hosted using a free account, so don’t expect any support from the provider. If you pay for the service, you can demand for a better service or support. If you are not paying anything (to use a service), so you are the product.

New PHP

PHP is an amazing server side language to build web application. The ability to embed an executable code into text content is really practical in the web page generation, thus the most convenient language to use to create dynamic website. Additionally, it’s also easy to learn by beginner.

However, the language inconsistencies in naming, function output, default behavior etc. – is a real PITA to seasoned developers. One of the inconsistencies that I’d like to address here is the notation syntax used. Namespace declaration, variable name, methods and properties accessor & also array – they are all different. Some use backslash, some use arrow, some use double colon – as a result of borrowing syntax from a lot of other languages.

Therefore i hope in PHP 6 there’ll be some groundbreaking changes to its syntax. In my opinion, to be a much cleaner syntax, just use one format – dot notation. Here’s the new code syntax I suggest, together with some new features that I feel useful to have in new PHP

Current:

// namespace
namespace org\example\system;

use org\example\system\base;
use org\example\storage;
use org\example\collection\Dictionary;

// class
class Application extends baseApplication {

  private static $mode = 0;
  private $id = 0;
  private $db;

  public function __construct() {

    // method / property accessor
    $this->id = 1;
    $this->run();

    // namespaced class
    $this->db = new storageDatabase();
    $collection = new Dictionary(array('a','b'));

    // array
    $arr = array(
      'a' => 'A'
    );

    // array php 5.4
    $arr = [
      'b' => 'B'
    ];

    // array operation
    array_pop($arr);
    array_push($arr, 'c');

    // strings
    $str = 'name';
    $n = $str[0];
    $lower = strtolower($str);

    // include files
    require '../lib/functions.php';
    require_once '../lib/functions.php';
    include '../lib/functions.php';
    include_once '../lib/functions.php';

    // static method / property accessor
    $mode = self::$mode;
    $dict = Dictionary::create();

  }

  public function run() {

    // parent class accessor
    parent::run();

  }

}

New PHP:

// namespace
namespace org.example.system;

use org.example.system.base;
use org.example.storage;
use org.example.collection.Dictionary;

// class
class Application extends base.Application {

  private static mode = 0;
  private id = 0;
  private db;

  public function __construct() {

    // method / property accessor
    this.id = 1;
    this.run();

    // namespaced class
    this.db = new storage.Database();
    collection = new Dictionary(['a', 'b']);

    // array can be treated as mixed of hashed map,
    // dictionary, list or set
    // array is now an object type
    arr = [
      'b' : 'B'
    ];

    // array operation
    arr.pop();
    arr.push('c');
    arr[0];
    arr[0:2];
    arr[:2];

    // string is now object type,
    // not treated like an array
    str = 'name';
    str.charAt(0);
    str.substr(0, 1);
    str.toLower();

    // include files, use 'use' statement
    // all diff statement behavior will use 'include' behavior
    // use full path

    use com.example.lib.utils;
    use com.example.lib.functions as fn;

    // class alias
    fn.log('message');

    // static method / property accessor
    mode = self.mode;
    dict = Dictionary.create();

  }

  public function run() {

    // parent class accessor
    parent.run();

  }

}

Sure, it looks like Java (or Javascript, or Python), nothing wrong with that, as long as the primary feature – embeddable code – remain intact, PHP will always be the main choice for web app development.

WP mobile source

Android: http://github.com/wordpress-mobile/WordPress-Android/

iOS: http://github.com/wordpress-mobile/WordPress-iOS/

Windows Phone:
(Trac) http://windowsphone.trac.wordpress.org/
(SVN) http://windowsphone.svn.wordpress.org/

These are great resources for those who have done mobile app development in non-native language like phonegap or titanium mobile (that’s me).

The only thing I hope is wordpress web app is being rewritten in proper PHP framework (symphony, yii etc.) to take advantage of those framework’s architecture. Currently the code getting dirtier and not leveraging new PHP features like namespace, traits, performance improvements etc.

IMO WordPress should start upgrade their codebase to support PHP 5.3 as minimum version required, so that majority of web hosting providers will start upgrading their PHP version too.

Bank Islam phishing site through e-mail

bankislam

This is one phishing mail I received today. If you hover the link, the URL seems correct, but you can’t fool me waltersgreenhouse.ca / rumahhawa.com, see the bottom left of the browser windows, it shows the link it’ll redirect you to.

bankislam2
See where they send the form to

Don’t enter your info to that site!!!

P/S: I don’t have Bank Islam account…

GIMP Single Window Mode

I’ve been using Gimp as my primary image editing software. I never used photoshop (and I don’t want to). The only thing that make using Gimp quite difficult is the user interface – the main application window is separated into 3 (sometimes 2) tiny windows. I used to promote the software to other users, but this one important feature has been missing since the existence of Gimp, cause many of them prefer photoshop.

Finally!

Single window mode is available for Gimp (2.7.3). However this version is still in development phase, and it’s rumoured that version 2.8 will be the stable release for this most requested feature.