Categories
PDF Utilities

FREE PDF Creator

freepdfcreatorHere’s a 100% free for personal and/or business use, 100% useful tool to create, and to some extent edit PDF files. I had to download the software and see for myself but this software is the real deal. Creating professional looking PDF files can’t be easier than this. Basically, as with most users, you create your document in Microsoft Word, and with the PDF24 FREE PDF creator, you transform your word document into PDF. It doesn’t stop there.

You are also able to do a virtual print of any document to PDF24 and voila, you got another method of generating any document to PDF format. This tool also allows you to edit your existing PDF files. You can split, merge and rearrange pages, secure a PDF with a password, change PDF properties and much more. Now if you think that it stops there, then I’m sorry to disappoint because there’s more.

You can also download the PDF24 Article to PDF plug-in for your WordPress website that will enable your readers to convert one or more of your posts to PDF files.

Now that’s what I call a complete PDF solution. Thanks PDF24.org!

Categories
DivX FLV MP4 MPG SWF Video Conversion WMV

Format Factory Review

formatfactoryI was looking for a free tool that will convert a bulky MOV file to something much smaller so I can post it to a website. I got a tip from a friend that Format Factory will do the job and much more. I was a bit sceptical at first but I thought why not.

I downloaded the 40MB package after quickly Googling the term “format media converter” because I couldn’t remember the name of the software at the time. I installed the application and used it to convert the MOV file to AVI, and I was blown away! It converted very quickly without any problems. Wow, I am now a fan!

Here’s the full spec of the software:

Format Factory is a multifunctional media converter.
Provides functions below:

  • All to MP4/3GP/MPG/AVI/WMV/FLV/SWF.
  • All to MP3/WMA/AMR/OGG/AAC/WAV.
  • All to JPG/BMP/PNG/TIF/ICO/GIF/TGA.
  • Rip DVD to video file , Rip Music CD to audio file.
  • MP4 files support iPod/iPhone/PSP/BlackBerry format.
  • Supports RMVB,Watermark, AV Mux.

 

Format Factory’s Feature:

  1. support converting all popular video,audio,picture formats to others.
  2. Repair damaged video and audio file.
  3. Reducing Multimedia file size.
  4. Support iphone,ipod multimedia file formats.
  5. Picture converting supports Zoom,Rotate/Flip,tags.
  6. DVD Ripper.
  7. Supports 56 languages
Categories
CURL PHP

Posting Binary File Via a Proxy Using PHP Curl

Don’t ask me why I had to do this, but at work today, I had the need to post files up to a remote server while running the php script behind our firewall. Basically, we needed to make files inside our firewall available on the internet. I found out that the native fopen command cannot easily be configured to post via a proxy server so I had to implement the curl solution with the help of a work mate (Thanks Dean!).

I’ve attached the code below for those who has the need to do the same thing as I. When looking at the code, take note of line 2. Most work accounts belong to a domain, but some don’t so for those not on a domain, make sure you remove DOMAIN\\. For those on a domain take note of the double slash \\ (single slash won’t work).

Happy coding!

<?php
define(“C_PROXY_SERVER_URL”,”proxy.server.com:8080″);
define(“C_PROXY_PASS”,”DOMAIN\\username:password”);
$upload_url = “http://someremotesite.com/uploader.php”;

$sample_file = “c:/Program Files/Apache Software Foundation/Apache2.2/htdocs/phpfileuploader/localuploads/FileZilla.zip”;

curl_add_file($post_array,”uploadedfile”,$sample_file);
curl_post_data($post_array, “p”, “lkjdw9087787asdhkldhasdjaksh987987jklasdf”);
curl_post_data($post_array, “file_id”, 201);
curl_post_data($post_array, “phase_id”, 201);

echo “Data to post:\n”;
print_r($post_array);
echo “\n”;
echo “upload response: \n”;
echo curl_post_request($upload_url, $post_array);

function curl_add_file(&$p_post_array, $p_name, $p_file)
{
if(!is_array($p_post_array))
$p_post_array = array();
if(!is_file($p_file) || empty($p_name) )
{
return FALSE;
}
if(!empty($mimetype))
{
$filename = “@” . $p_file . “;type=” . $mimetype;
}
else
{
$filename = “@” . $p_file;
}
$p_post_array[strtolower($p_name)] = $filename;
return TRUE;
}

function curl_post_data(&$p_post_array, $p_name, $p_data)
{
if(!is_array($p_post_array))
$p_post_array = array();
if(empty($p_name))
return FALSE;

$p_post_array[strtolower($p_name)] = $p_data;
return TRUE;
}

function curl_post_request($p_url, $p_postdata)
{
$curl_res = curl_init();
curl_setopt($curl_res, CURLOPT_URL, $p_url);
curl_setopt($curl_res, CURLOPT_HTTPPROXYTUNNEL, true);
curl_setopt($curl_res, CURLOPT_PROXY, C_PROXY_SERVER_URL);
curl_setopt($curl_res, CURLOPT_PROXYUSERPWD, C_PROXY_PASS);
curl_setopt($curl_res, CURLOPT_POST, true);
curl_setopt($curl_res, CURLOPT_POSTFIELDS, $p_postdata );
curl_setopt($curl_res, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl_res);
if($response === FALSE)
$output = curl_error($curl_res);
else
$output = $response;
curl_close ($curl_res);
return $output;
}
?>

Categories
ApEx Oracle PL/SQL

Getting Session Environment Parameters in Oracle

To display all environment variable values for a given oracle session, run the following code:

begin
FOR i IN 1..owa.num_cgi_vars LOOP
htp.p(owa.cgi_var_name(i)||' : '||owa.cgi_var_val(i));
END LOOP;
end;

The name of the environment variable and value will be displayed. To reference each variable individually use the following syntax:

OWA_UTIL.get_cgi_env(VARIABLE_NAME)

eg. OWA_UTIL.get_cgi_env(‘REQUEST_PROTOCOL’)

Here’s the list of all available variables:

PLSQL_GATEWAY
GATEWAY_IVERSION
SERVER_SOFTWARE
GATEWAY_INTERFACE
SERVER_PORT
SERVER_NAME
REQUEST_METHOD
PATH_INFO
SCRIPT_NAME
REMOTE_ADDR
SERVER_PROTOCOL
REQUEST_PROTOCOL
REMOTE_USER
HTTP_CONTENT_LENGTH
HTTP_CONTENT_TYPE
HTTP_USER_AGENT
HTTP_HOST
HTTP_ACCEPT
HTTP_ACCEPT_ENCODING
HTTP_ACCEPT_LANGUAGE
HTTP_REFERER
HTTP_ORACLE_ECID
WEB_AUTHENT_PREFIX
DAD_NAME
DOC_ACCESS_PATH
DOCUMENT_TABLE
PATH_ALIAS
REQUEST_CHARSET
REQUEST_IANA_CHARSET
SCRIPT_PREFIX
HTTP_COOKIE

Sample Output:

PLSQL_GATEWAY : WebDb
GATEWAY_IVERSION : 3
SERVER_SOFTWARE : Oracle-Application-Server-10g/10.1.2.0.0 Oracle-HTTP-Server
GATEWAY_INTERFACE : CGI/1.1
SERVER_PORT : 7780
SERVER_NAME : dummyserver
REQUEST_METHOD : POST
PATH_INFO : /wwv_flow.show
SCRIPT_NAME : /pls/dmt
REMOTE_ADDR : 148.132.152.59
SERVER_PROTOCOL : HTTP/1.1
REQUEST_PROTOCOL : HTTP
REMOTE_USER : APEX_PUBLIC_USER
HTTP_CONTENT_LENGTH : 416
HTTP_CONTENT_TYPE : application/x-www-form-urlencoded
HTTP_USER_AGENT : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
HTTP_HOST : dummyserver.com.au:7780
HTTP_ACCEPT : */*
HTTP_ACCEPT_ENCODING : gzip, deflate
HTTP_ACCEPT_LANGUAGE : en-au
HTTP_REFERER : http://dummyserver.com.au:7780/pls/dmt/f?p=4500:1003:4479870342920497::NO:::
HTTP_ORACLE_ECID : 1297402712:144.135.172.44:22243:0:21186,0
WEB_AUTHENT_PREFIX :
DAD_NAME : dmt
DOC_ACCESS_PATH : docs
DOCUMENT_TABLE : wwv_flow_file_objects$
PATH_ALIAS :
REQUEST_CHARSET : UTF8
REQUEST_IANA_CHARSET : UTF-8
SCRIPT_PREFIX : /pls
HTTP_COOKIE : ISCOOKIE=true; LOGIN_USERNAME_COOKIE=U123456; LOGIN_PASSWORD_COOKIE=; LOGIN_REMEMBER_ME_COOKIE=; r1=%23ALL; r2=%23ALL; r3=%23ALL; propHide=4301%2C%23ALL; WWV_FLOW_USER2=47770A7FD83D3E0A; ORACLE_PLATFORM_REMEMBER_UN=U123456:dmt; __ppFullPath=di-di; s_nr=1296902947468; s_evar18=%5B%5B%27referral%27%2C%271296902515781%27%5D%5D; SearchSettings=50,0,0,1,1,1,1,1; HTMLDB_IDLE_SESSION=11-FEB-2011 10:22:00; WWV_CUSTOM-F_955908081711180_100=739B959ED77BAFE2

Categories
ApEx Oracle

Oracle ApEx Request That Will Submit Requested Page Though Link

There is a very useful Oracle ApEx REQUEST constant called BRANCH_TO_PAGE_ACCEPT. If included in a URL, the request will process the page as if it was submitted. Now think about this for a minute because this is a useful tool that can enhance your application dramatically. I will provide an example to make my point. Traditionally clicking on a URL in ApEx will simply load the page requested. Loading a page means that the “After Submit Processes” region in ApEx will never be triggered. As a consequence most programmers will plug their process in in “Before Header” or “After Header” point in their page process restricted via some execution condition. This is highly inefficient because it means that the process will be evaluated every time the page is accessed.

To improve this process, add a BRANCH_TO_PAGE_ACCEPT Request in your Column Link. This modification will submit the page requested which will then allow you to place the process in the “After Submit” region. Execution of the block will be more targetted making you application more efficient.
BRANCH_TO_PAGE_ACCEPT
The request looks something like this:

f?p=&APP_ID.:23:&SESSION.:BRANCH_TO_PAGE_ACCEPT:&DEBUG.::P0_REQ_ID:#ID#

Happy Coding!

Categories
Driving Vehicles

If You’re Turning, Then Please Indicate


We don’t all possess superpowers. In fact, like me, a lot of us cannot read minds. There’s this great gadget invented which is installed on all vehicles called the signal light. The idea is if you intend to make a left or right turn, you flick this little lever near your steering wheel to the direction where you expect to turn into. This action will activate the signal light on the outside of your vehicle, on the left or right side, depending on which direction you flicked the lever. These set of actions effectively communicates where the driver intends to go, well before he/she gets there. This is necessary so that everyone else around him/her can negotiate their manoeuvres effectively, all in the effort of preventing an accident.

I want to focus the attention to a specific scenario – The dreaded roundabout. I don’t know about you but I think that there’s an unwritten rule that you have to go through a roundabout as fast as possible and signalling is optional. Throw in pedestrians and bicycle riders in the mix and the result could be catastrophic.

Every driver on the road has a responsibility. A responsibility to be up to date with their knowledge of the road rules, to obey these rules, be considerate when driving and to drive safely at all times. I think a lot of us forget how dangerous it is to be on or near the roads.

Please always remember.