*a constant parallactic paradox, sublime*

Information Technology

Photo Manipulation Tips for Beginners

Photo Manipulation Tips and Tricks

The artwork in this set is originally uploaded and published in xyldrae.deviantart.com containing the credits of stock images used.


Bear from happeningstock.deviantart.com/ | The lovely woman is my mom, from my wedding pictures | Log from jellybellystock.deviantart.com/

Photo manipulation is the application of image editing techniques to photographs in order to create an illusion or deception (in contrast to mere enhancement or correction), through analog or digital means” – Definition from Webster’s Dictionary 2006 edition

Tip 1: You are doing it right now.

Reading tutorials is a good way to improve. Know however, that there is not one Tutorial that will teach you everything. So you have to read specific tutorials on different subjects, such as essentials, technical solutions (ex. what software to use or how to use specific tools in a software), specific techniques (ex. lighting, toning, painting). This tutorial is one that aims to help an aspiring photomanipulator to get a good glimpse of the essentials, assuming that one is knowledgeable of the functions of the basic tools available in photo editing softwares.

Tip 2: Get stock images to create your idea or get your idea from stock images you see.

Stock photography is very under-rated. But it is one of the most beautiful arts ever. Herein, stock photographers can manipulate a photomanipulator into doing what he wants to be done with a stock image he/she took. Stock photos make up a final piece of Photomanipulation. And if you begin from an idea to getting the stock required for that idea, take your time in doing so, and know that it is just normal to sometimes spend more time looking for the perfect stock than patching them up. One more thing, digital BRUSHES are one of the best stocks ever!

Tip 3: Crop Cleanly and touch up the edges

A photomanipulation that is cropped lazily will easily be noticed as something unpleasant even on a thumbnail view. So take time in cropping. Do not always rely on magic wand tools or rely on feathering edges as if it really makes that object blend with the rest. It doesn’t do that all the time. Sometimes, there are subjects with areas almost impossible to crop perfectly, such as a person’s hair or the fur of an animal. A better way than just feathering their edges or smudging them, is to paint over them and blend in.

Tip 4: The background is one thing. The Foreground is another thing.

Pre-made backgrounds save up time, but each time you use a background and leave it untouched, this diminishes the originality and creativity of your work. On the other hand, have fun in creating your own world starting with your background.

Tip 5: Toning is vital!

When you have this ‘new world’ which you want to populate with the subjects you desire, you might want to adjust the color balance, brightness, contrast, curves etc. of every image you put on it. Do not mistake putting a photo of a person taken in broad daylight into a background that clearly depicts night time, unless that is your intention. Of course, you can do the toning later on, after you have placed all your elements in the canvas. Sometimes, it would suffice to just blend in a layer filled with the color (or gradient of the color/s) that represent the hue you desire.

Tip 6: Before you merge layers, make sure you’re done with the shadows and highlights, and sometimes, reflections.

Lighting is a powerful thing! Shadows and Highlights give dimensions to a photograph. Unless you want to create a one-dimensional piece, you need not concern yourself with shadows and highlights. The direction of shadows is the same as the direction of the light. Identify first, the light sources in your piece (or create them), and render the shadows they create. Take note, every bit of matter affects the direction of light. Does your light touch a mirror? the let light bounce accordingly. Is your light blocked by a tree? The tree puts a shade where it has blocked the light.

The artwork in this set is originally uploaded and published in xyldrae.deviantart.com containing the credits of stock images used.

Tip 7: Focus on the Focus!

Of course, your focus must be the sharpest and most defined area in your artwork. Know that even sharpness in an image can have a fade-in or fade-out effect. This transition makes one image gracefully blend in with another. Use the feather options from the selection tools you use to apply fade effects.

Tip 8: Textures give a sense of feeling

Textures bring certain moods to your final photograph. Textures can be applied to a certain area selections and to the whole image as a whole. Try out some textures but be careful in deciding whether it is better to apply them or not.

Tip 9: Smudge, but not too much

Smudge enough to make the effect you desire, whether you just want you just want to remove the noise in your image or blend some elements. Sometimes, people use built-in or plugged in noise reduction effects available in the software their are using such selective blurs etc. But these programs most often destroy the edges and flow of pixels in the artwork, that is why smudging is done instead. Herein, your control the flow of pixels and amount of smudging that occurs. If you have smudged enough to make the photo noiseless yet lacking in depth and detail, it is a good idea to paint over the image by running fade out brush strokes through the visible highlights (using a lightening color) or the visible shadows (using a darkening color).

Tip 10: Learn from Others

The world wide web is another world where we can find a multitude of good examples and bad examples. Yes, learn from both the good and bad. Look intently at the works you see and compare what you like with what you don’t like. Distinguish what makes one work different than the other. Try to imagine what tools were used on every part of each image and try applying what suites you. Lastly, embrace objective criticism!

This image is originally uploaded and copyrighted in xyldrae.deviantart.com where credits to images aquired are listed down. Exercise your eyes and try to spot the flaws in this highlighting exercise.

You may find technique-specific tutorials in deviantart.com


All New Web UZZAP!

Best part of the day: Proud to finally announce the beta release of the ALL NEW Web UZZAP! Faster, looks even Better, Greater and much Smarter! Try it & contribute to the ongoing community reviews!

OVER 1.4 MILLION ACTIVE users and growing!

WHAT IS UZZAP? (Taken from Uzzap’s Official Facebook Pages):

UZZAP is the first all – in – one messenger service for your mobile phone! It is also available to download on your PC or access it through the web application at http://uzzap.com/ , all you need is an internet connection.

UZZAP uses your data or GPRS connection through your mobile phone to go online, it’s FREE for SMART subscribers, so you can stay connected 24/7!
Once logged on, you can start enjoying UZZAP features and services, such as:

1. Extended Messaging (EM): send messages to your UZZAP buddies! (If an UZZAP buddy is offline, your messages would automatically convert into an SMS, so your buddies will always receive your messages!)

**NOTE: Standard Rates apply when you Reply to an SMS message (Php 1.00)

2. Group Chat: enjoy chatting with your UZZAP buddies in private in your own room!

3. Instant Messaging (IM): connect to you YM or MSN or Chikka or Gtalk account and see all your buddies!

4. Post TWITTER TWEETS from any of your Uzzap applications!

5. Chatrooms: Enjoy chatting & meeting new people, grow your social network with over a 1000+ UZZAP chatrooms!

6. User Generated Chatrooms (UGC): Create your own chatroom!

7. Share Media: Send & receive picture messages from your phone or PC!

8. Invite Buddies: Increase your UZZAP buddy list by adding them through your phonebook, user-id, or mobile number!

9. AUTO Buddy Matching: UZZAP automatically adds your contacts on your phonebook who are already UZZAP users to your buddy list!

10. Themes: Enjoy various themes on your phones & personalize your UZZAP!

** See FAQ’s ; Quick-start Guide & Quick Tips for more details & information.**

FREE TO DOWNLOAD!!
TEXT UZZAP TO 7272 or go to http://uzzap.com/download NOW!!!
or use in http://uzzap.com/
Enjoy UZZAP’s Services & Discover More New Features to Come!


Excerpts from A Conversation Between Two Bored Programmers

Programmer 1: Recursive iteration of mundane functions won’t make sense until it breaks out from a statement.

Programmer 2: I guess I just have to figure out what that statement is then.

Programmer 1: Correct 😀

Programmer 2: Unless I made that statement, then I’d have to figure out why the conditions aren’t met.

Programmer 1: Nyahahaha

Programmer 2: But how do you know if there’s something wrong in the statement or just something missing in the iteration…?

Programmer 1: There are 3 signs. The bad is having a lot of multiple warnings maybe from logs, system out, or even from friends :D. The WORSE is a lot of thrown errors and exceptions. WORST still is it has NO signs, and your program life cycle is just looping endlessly because you activated a TRAP method signature :S then you must type “kill all !@#$%^” este “kill all “


Python “time” Module

>>> import time
>>> now = time.strftime("%Y-%m-%d %H:%M:%S")
>>> now
'2009-10-28 14:10:52'
>>> tup = time.strptime(now, "%Y-%m-%d %H:%M:%S")
>>> tup
(2009, 10, 28, 14, 10, 52, 2, 301, -1)
>>> unix = time.mktime(tup)
>>> unix
1256710252.0
>>> tup2 = time.gmtime(unix) 
>>> tup2 == tup
False
>>> tup
(2009, 10, 28, 14, 10, 52, 2, 301, -1)
>>> tup2
(2009, 10, 28, 6, 10, 52, 2, 301, 0)
>>> time.strftime("%Y-%m-%d %H:%M:%S", tup)
'2009-10-28 06:10:52'
>>> time.strftime("%Y-%m-%d %H:%M:%S", tup2)
'2009-10-28 06:10:52'


Dates in PHP (Tomorrow, Yesterday, Today of a Given Date)

<?php
echo “<h4>Date Yesterday</h4>”;
$yesterday = date(“Y-m-d”, time()-86400);
echo $yesterday;

echo “<h4>Date Today</h4>”;
echo date(“Y-m-d”);

echo “<h4>Date Tomorrow</h4>”;
$tomorrow = date(“Y-m-d”, time()+86400);
echo $tomorrow;

echo “<hr>”;
echo “<h4>Previous Date from User-defined Date</h4>”;

$gdate = “2008-07-11”;
echo “(” . $gdate . ” supplied.) <br>”;
$dt = strtotime($gdate);
echo date(“Y-m-d”, $dt-86400);

echo “<h4>Next Date from User-defined Date</h4>”;
echo “(” . $gdate . ” supplied.) <br>”;
$dt = strtotime($gdate);
echo date(“Y-m-d”, $dt+86400);

// DAYS IN BETWEEN TWO DATES

function days_in_between($s, $e){
$d = array();
$s = strtotime($s);
$e = strtotime($e);
for($n=$s; $n<=$e; $n=$n+86400){
array_push($d, strftime(“%Y-%m-%d”, $n));
}
return $d;

}

?>


UZZAP

This is the very thing that keeps me busy!

Checkout Uzzap’s official website now!


Let’s Uzzap about Sports

I am posting this as a bridge to my past and present entries.

So yes, Boston became NBA Champs as Predicted and my Paul Pierce became MVP as expected except that the Celtics actually made garbage time on the Lakers and made Special Attendance at the Pacman-Diaz Match last week wherein Pacman practically killed his opponent early in round 2 and finished though in the 8th.

Aside from that, UEFA EURO 2008 finals champion Spain finally does it after 24 years, now on the account of loser Germany who had an early land on the top. 1-nil just proves a tough match though, similar to this 5-set heart-pounding victory by new king Rafael Nadal over the 5-time-reigning ex-champ Roger Federer in this years Wimbledon Men’s Final

In local Sports, well, NCAA kicks off. 😀

See one of its official journalists’ blog

Now….. What is Uzzap!?

It’s the most amazing messenger in the world for extended messaging that also includes:

– IM to Yahoo and MSN
– What they call E-SMS
– Email!
– Unique Chatrooms
– Auto-Buddy-Matching (Common contacts on mobile phones who become Uzzap users automatically become buddies).
– Themes
– and More!

Visit the Official Website at uzzap.com.
Text “uzzap” to 7272 for Smart subscribers
Or download directly on uzzap.com/download on your mobile and PC. 😀


Javascript: DOM, Window Object, Page Load and URL Encoding/Decoding Examples

This software (wordpress.com) is so good at omitting scripts from your post and it’s true that if you wanna benefit from the glory of it all use the actual product (wordpress.org). I do not have my own domain for that though, so in spite of the absence of an actual demonstration, here are some useful javascript source codes!

window element

This code shows how to display a popup window.

onclick="window.open('test.html', 'windowname1', 'width=200, height=77'); return false;"
Full window properties
function popup(url) 
{
 var width  = 500;
 var height = 500;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=no';
 params += ', scrollbars=yes';
 params += ', status=no';
 params += ', toolbar=no';
 newwin=window.open(url,'windowname5', params);
 if (window.focus) {newwin.focus()}
 return false;
}

The DOM

This code shows how to change the innerHTML value of a tag, change the color of a text, change the options of a select, make some page contents disappear, disable radio buttons, mark radio buttons as checked by default and basically how to user a switch function in JS and use the function getElementByID().


<script language="javascript">
function act(n){
	switch(n){
		default: break;
		case 1:{
			document.getElementById("targetObj").innerHTML = 
"<p id='helloworld'>hello world</p>";
			replaceSelectOpt("change color of 'hello world'", 2);
			break;
		}
		case 2:{
			document.getElementById("helloworld").style.color = "red";
			replaceSelectOpt("change me into useless radio buttons", 3);
			break;
		}
		case 3:{
			r = "<input type='radio' name='rad' checked='true'>huhuhuh";
			r = r + "<input type='radio' name='rad' disabled='true'>nahnah";
			document.getElementById("thejester").innerHTML = r;
			s = "<a href='javascript:void(0)' onClick='act(4)'>
I am tired. Make me vanish.</a>";
			document.getElementById("helloworld").innerHTML = s;
			break;
		}
		case 4:{
			document.getElementById('thejester').innerHTML = "";
			document.getElementById('targetObj').innerHTML = "";
		}
	}
}

function replaceSelectOpt(txt, nxt){
	full = "<option>Choose!</option><option onClick=
'act(" + nxt + ")'>" + txt + "</option>";
	document.getElementById("you_have_no_choice_but_to_follow").innerHTML = full;
}

</script>

<div id="thejester">
	<select id="you_have_no_choice_but_to_follow">
	<option>Choose!</option>
	<option onClick="act(1)">show me a paragraph</option>
	</select>
</div>

<br>
<div id="targetObj"></div>


history.go() function

Go to previous page

For whatever purpose it may serve, you may use the history() function to navigate towards a specific page in your history.

history.go(-1);
Reload Page
history.go(0);

escape() and unescape() functions //url encode and decode

These are the javascript counterparts for PHP’s rawurldecode and rawurlencode.

<input type="text" size="100" onKeyPress=
"document.getElementById('s').innerHTML=escape(this.value)">
<div id="s"></div>

Jeassshhh… There’s too much code here….(X_+)


Useful PHP Functions

These are three of my favorite PHP functions. 😀

string file_get_contents ( string $filename [, int $flags [, resource $context [, int $offset [, int $maxlen ]]]] )Get the contents of a url.

Example:

// following code will display the contents of the web page http://www.example.com
$url = “http://www.example.com&#8221;;
$contents = file_get_contents($url);
echo $contents;

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )Requires an email server. This functions programatically sends an email based on the given parameters.
Example:

// send an email to someone@somedomain.com
$to=”someone@somedomain.com
$subj = “example”;
$message=”this is an email”;
if(mail($to, $subj, $message)) echo “Email was sent”;
else echo “Email sending failed.”;

int fwrite ( resource $handle , string $string [, int $length ] ) Write something to a file. Note that the file and it’s parent directory should have permissions granted to a user such as “apache” or “www-data”.

Example:

// open a file called test.txt and if it does not exist, attempt to create it; place the pointer at the begining of the file
$handle = fopen(“test.txt”, “a+”);
$data = “I am programatically written.\n”;
fwrite($handle, $data);
fclose($handle);

I’ll stick with these 3 functions for the meantime. With this though, you can make programs such as:

  • A simple email interface. 😀
  • A logging system using just the last function
  • A proxy browser or something.

PHP SESSION

This post was originally titled "PHP Developer Essentials" which was what I really wanted to post instead of "PHP Essentials". But as I was at it, I got really bored and I realize, I really just wanted to list all my favorite or let me just say "mostly used" php functions.

But to preserve the efforts, let me just leave what I have already typed here—Creating a session with PHP.

Creating a Session

login.php

<?php
$login_name = $_POST[‘username’];
$login_password = $_POST[‘password’];
if($login_name==’admin’ && $login_password==’@dm!n’){
   session_start();
   session_cache_expire(15);
   $_SESSION[‘user’] = $_POST[‘username’];
   header("Location: ‘home.html’");
}
else{
   die("Authentication Failed");
}
?>

What this simple program does, is get post data from a form that uses the POST method and defined the URL of this code as the form target. The form will look like:

<form action=’login.php’ method=’post’>
Username: <input type=’text’ name=’username’>
Password: <input type=’password’ name=’password’>
<input type=’submit’ value=’Login’>

After retrieving post data, it will validate the user inputs then start a session and store the login data (username) in a session variable called (user). It will then set the window location to the home page using the header() function.



PHP Essentials

Learn PHP quick! Here are the php elements and functions which I find essential in developing applications with PHP.

Basic Syntax

<?php
echo “hello world”;
?>

The output would be:

hello world

Variables

Variables are represented by a dollar sign ($) and does not require type declaration.

<?php
$a = “this is a string”;
$b = 1;
$c = 2;
$d = $b + $c;
echo $d . ” is an integer” . “<br>”;
echo $a;
?>

The output would be:

3 is an integer

this is a string

Basic Conditions

Here are some of the most basic conditions:

<?php
$a = 1;
$b = 2;
if($a==$b){
echo “a is equal to b” . “<br>”;
}
else if($a!=$b){
echo “a is not equal to b” . “<br>”;
}
if($a>=$b) or $a==1){
echo “a is greater than or equal to b or a is equal to 1”;
}
?>

The output would be:

a is not equal to be
a is greater than or equal to b or a is equal to 1

….Anyway, this is supposed to be a reference, not a tutorial. To really learn php, go to this site!