Thursday, January 21, 2010

CodeIgniter - Remove index.php from URI

Normally with CodeIgniter, the URI will come with http://domain/index.php/controller/method
You may have doubt to remove the index.php to have only http://domain/controller/method ..

Here is the way:
1. mod_rewrite still need to be enable in your apache server
2. Open config.php from your application/config and replace $config['index_page'] = “index.php” by $config['index_page'] = “”

3. In file .htaccess at the root of your website (should be in website root, where the system directory is) and add following line:


RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

(My case, above changes work fine)

4. In some case, the default setting for uri_protocol does not work properly. To solve this problem just replace $config['uri_protocol'] = “AUTO” by $config['uri_protocol'] = “REQUEST_URI” from application/config/config.php

Enjoy,

Update 26/01: If you want both using index.php with URI or no, you just need to skip option 4 (using uri_protocol as AUTO)

CodeIgniter - Automatic config base url

In CodeIgniter, you may know that you need to configure base url via config.php (param: $config["base_url"]) so when change domain you may doubt sometimes with such small error; Here a solution to help solving the issue;

Change at config.php by fix url with this smart url configuration:

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

Source: http://codeigniter.com/wiki/Automatic_configbase_url/

Thursday, November 5, 2009

2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS

I start using MS Office 2007 and also has Adobe Acrobat 8.0 install, I can print as PDF in MS Word 2003 but not with MS Office 2007. See below screen shots of error:

But in fact with MS Office 2007, Microsoft has provided an add-in for converting from DOC to PDF very easily, just download from: http://www.microsoft.com/downloads/details.aspx?FamilyId=4D951911-3E7E-4AE6-B059-A2E79ED87041&displaylang=en

After I install: SaveAsPDFandXPS.exe
I can convert by go to: Save As -> PDF or XPS
PDF loaded as expected!
Great!

Sunday, October 4, 2009

At BarCamp 2009, topic: The State of The Art of Web Development

Hi,
Here is my presentation at barcamp phnom penh 2009, on Sunday 4th of October at Pannasastra University (Norodom), in hall room, Room Phnom Tamao at 11:30am to 12:30pm.

It was about the state of the art of web development, wanna to express how web technologies going on since it was started and today; also a bit view on how the future is.

The presentation, it's just starting or a beginning of the topic. Among those points, parts related to technologies of Java/J2EE, Django/Ruby on Rails, PHP style coding need to improve in the presentation, hope to do it more in next part.

Enjoy here:

Thursday, October 1, 2009

Run maven commands in Eclipse as External Tool

You might already know what is maven; it's a tool to build / compile or package java project...
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
Here, I want to show how to configure maven to use as external tool in eclipse IDE so easy for you to execute maven commands from the Eclipse interface easy without needing to open a DOS prompt to use. Here is the procedure:

1. Suppose maven 2 already install some where on your PC, (mine is in D:\Work\install\Tools\maven-2.0.4)
2. From the menu bar, select Window > Preferences. Select the Run/Debug > String Substitution. Add a new variable e.g. maven_exec.
3. Set up a new external launcher from the menu bar, select Run > External Tools. Select Program
4. Create each maven task, example: in here, I create only the build classpath
  • On program, create a new program and name as: build_classpath (any name as you wish)
  • In location box: choose our created variable: maven_exec
  • In Working Directory: choose variable: project_loc
  • In Argument, give maven command, in here is: eclipse:clean eclipse:eclipse
  • Click on Apply and Run if you wish now
5. So you can execute the external tool program by execute Run button, result should be in console tab:

Enjoy,

Friday, September 25, 2009

Jibx XML loading & Digester, which one is more flexible?

Jibx is one of the popular XML parsing in Java and also Digester.

Jibx bases on binding.xml file to map XML nodes to Java Objects
Digester also base on digester-rule xml file to map to Java Objects

What I found here, in Jibx we need to map all fields of the XML to the binding but in digester, we can filter for which fields we want...

To prove, will see in next post for more analyze..

Friday, August 28, 2009

In brief about Eclipse IDE

Eclipse is a multi-language software development environment comprising an IDE and a plug-in system to extend it. It is written primarily in Java and can be used to develop applications in Java and, by means of the various plug-ins, in other languages as well, including C, C++, COBOL, Python, Perl, PHP, and others.[1]

Website: http://www.eclipse.org/

Download: http://www.eclipse.org/downloads/

Current version: Galileo, 3.5: http://wiki.eclipse.org/Galileo

Eclipse IDE is suitable with:

- J2EE Development (To use Eclipse IDE for Java EE Developers)

- Java Development (To use Eclipse IDE for Java Developer)

- PHP Development (To use Eclipse IDE for PHP Development)

- C/C++ Development (To use Eclipse IDE for C/C++ Development)

- Etc.

Installation/To start:

- Jdk requires to install before install Eclipse, in new version of Eclipse 3.5 requires at least jdk 1.5

- Just extract the eclipse and copy to some where in your PC

- Point to your workspace, create project and develop your application as well.

Screenshot: (Other screens see: http://www.eclipse.org/screenshots/)

Easy ways/Shortcuts:

- Wanna to go every where can start with shortcut: Ctrl + 3

- To see all shortcut: Ctrl + Shift + L

- Rename on variable/method to change all reference: Alt + Shift + R

- Search any file: Ctrl + Shift + R

- Go to line number: Ctrl + L

- Create View Object (set / get methods): Alt + Shift + S and choose: Generate Getters and Setters

- Etc.



[1] See wiki: http://en.wikipedia.org/wiki/Eclipse_(software)

Tuesday, August 18, 2009

[WordPress] Move integrated local wordpress to production server

First I have read some post and I though it was right but when I followed I got same error such as executing timeout (Fatal error: Maximum execution time of 30 seconds exceeded) when browse the website etc.

I have prepared the wordpress blog with some modification of the theme; integrated and tested my wanted plugin; prepare all pages, navigation etc. I have named my local site as: www.defondyann.loc but when I move to the server for website: www.defondyann.com I got above error and can't browse the page or went to the admin as well.

I tried as following post:
  • http://www.mydigitallife.info/2007/10/01/how-to-move-wordpress-blog-to-new-domain-or-location/
  • http://yoast.com/move-wordpress-blog-domain-10-steps/
  • http://codex.wordpress.org/Moving_WordPress
but not all worked for me so I took some points to do this way:

I. At my local server, I prepared the virtual host by naming as: www.defondyann.comI'm sure you guy know how to do virtual host in windows; any way, here it is:
  • apache2.2.6\conf\extra\httpd-vhosts.conf

ServerAdmin webmaster@defondyann.com
DocumentRoot "Z:/defondyann/wordpress"
ServerName defondyann.com
ServerAlias www.defondyann.com
ErrorLog "logs/defondyann.com-error_log"
CustomLog "logs/defondyann.com-common.log common" combined
  • Change at C:\WINDOWS\system32\drivers\etc\hosts
127.0.0.1 www.defondyann.com
II. I browsed the website locally with: www.defondyann.com login to admin as normal
III. Modified upload directory configuration in /wp-admin/options-misc.php
  • To change upload directory to: wp-content/uploads
IV. Modified database, by execute update script via phpMyAdmin or any mysql client:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.defondyann.loc', 'http://www.defondyann.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.defondyann.loc','http://www.defondyann.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.defondyann.loc', 'http://www.defondyann.com');

It's working for me,
Good luck,

Sunday, July 26, 2009

[A Solution Game] A man bought a house

Can anyone write the procedure how to solve this below problem?
It seems we will have two answers according to the way of resolvers thinking can be thinking with Maths or with Business, please write down and share in the comment:

Problem:
======
"A person bought a house for $60,000. Soon thereafter they sold it for $70,000, upon moving out of town.
A few month later, they were transftered back to town and purchased the same house for $80,000, then the person grew tired of the house and resold it for $90,000."

Question: How much money did the person gain/lose (or break even) on the exchange? How you calculate this?

Monday, July 13, 2009

SQL Server with Unicode / Khmer Unicode characters

To be notice MS SQL supports only UCS-2 encoding so do not have encoding with UTF-8 as we expected as MySQL or some other database server as well. This means that you can't use UTF-8 character encoding with Microsoft SQL Server:

Here after I type Khmer Unicode and execute the query, I got question marks instead of characters:

So if you need to store national characters in Microsoft SQL Server - please consider using a national character encoding (U+1780 to U+17FF in Unicode/ISO10646 for Khmer Unicode characters, for example). Change data types:
  • varchar to nvarchar
  • text to ntext
  • char to nchar
Here is the example since I created a table and insert data:
1. Create database (mtr_db) as normally (default setting)

2. Create table (tblunicode) with two fields (id/name) but
name - data type nvarchar(MAX)


3. Insert Khmer Unicode and execute we got it as we typed!
Good luck!