Why Google Hangouts are Better than Skype
The one thing it had going for it over Google Hangouts was that it ran in the background and you didn't have to be on the site to use it. Now with the Hangout client I talked about a few days ago (which is really just Chrome running in the background), that is no longer a difference.
Now that Skype and Hangouts can compete on features, the balanced has shifted way over to the Hangout side. This one picture says a lot for me:
Add to that, the ability to take pictures during a Hangout (like where this came from) and my son loves to play with the hats and other things you can digital add to people and you get a great family oriented video conferencing system.
There is also the ability to use remote desktop in a Hangout which is a great feature since you don't have to deal with firewalls or other issues that have caused me problems with the past when connecting to help people, but that is the subject for another day.
Setting up Gmail to go through your SMTP server
I don't run an open relay, so there is a little more configuration to ensure safe communication.
If you would like to have Gmail send email through your web server and not have that annoying "on behalf of", here is how to do it:
1) Click on Options in the Top Right corner
2) Select Settings
3) Click on the Accounts tab
4) Click Edit Info for the account you want to edit
5) Enter your name as you want it displayed
6) Select “Send through YOURDOMAINHERE SMTP server.
Enter your SMTP server (smtp.YOURDOMAINNAMEHERE.com).
Select “Secured connection using SSL”
Enter Port 465
Your email will now be sent from Gmail through your server with no traces of Gmail for the average user.
Setting up Google Hangout Client
The big own side is that you have to be in a browser to see a Hangout. This is ok for me since I always have a browser open, but this has proved a problem for older members of my family.
There is a solution.
I don't know why Google doesn't make a bigger deal about this. There is a Chrome plug in from Google that basically runs Chrome in the background of your computer all the time and allows you to get instant messages and Hang Out requests even when you aren't in your browser and while other applications are running. Now we have a Skype killer.
Here is how to set it up:
1) Open Chrome
2) Go to http://www.google.com/hangouts/
3) Click on “Available for your computer”
4) When prompted click yes
5) You should now see a Google icon in your task bar.
6) You can control whether you are signed in or out by clicking on the icon from the taskbar
.
7) You will now see Hangouts popup even if you aren’t logged into Google+
It's been a while
Exporting SVN Change Log in Phing
Here is the code if you'd like to add it to your build scripts:
<adhoc-task name="svnlog">
<!--[CDATA[
class svnLog extends Task {
private $file;
private $svnpath;
private $repositoryurl;
function setFile($file) {
$this->file = $file;
}
function setSvnPath($svnpath) {
$this->svnpath = $svnpath;
}
function setRepositoryUrl($repositoryurl) {
$this->repositoryurl = $repositoryurl;
}
private function writeSvnLog($svnpath="/usr/bin/svn", $repositoryurl, $file){
$cmd = $svnpath . " log " . $repositoryurl . " > " . $file;
echo $cmd . "\n";
system($cmd);
return true;
}
function main() {
$this->writeSvnLog($svnpath = $this->svnpath, $repositoryurl = $this->repositoryurl, $file = $this->file);
}
}
]]-->
</adhoc-task>
Here is how you call it:
<svnlog svnpath="/usr/bin/svn" repositoryurl="http://rex/svn/${package}/" file="${workingDir}/CHANGELOG"></svnlog>
Do you Care?
This classic tale tells the story of an typical Apple customer asking for an iPhone and can't tell you why or listen to any evidence that the iPhone isn't the greatest thing ever. Well worth the three minutes to watch it.
On a related note, if you don't watch Futurama, you should. The last episode, "Attack of the Killer App" was awesome. They really got the essence of the nonsensical hype that is apple.
This isn't the best part, but I love the observations that since it is Twitter and not Tweeter, a message isn't a tweet, it is a twit, right?
Futurama | Thursdays 10pm / 9c | |||
The Twit Worm | ||||
|
Deploying PHP with PHING
I alike that it is so easily customizable as well. For instance, my production server runs PHP in cgi mode so I can't change PHP settings in the .htaccess fiel so I have to have a php.ini file in every directory that has PHP to change these settings (on a side note, I'm looking forword to getting php5.3 installed which introduces the .user.ini setting which works like a .htaccess just for PHP). I really didn't want to maintain serveral copies of the same php.ini file so I wrote a little adhoc-task which expands PHING to copy a single file to every directory in the tree. A couple of lines of PHP in my PHING build.xml and I'm up and running.
   <adhoc-task name="copyrecurse">
   <![CDATA[
   class copyRecurse extends Task {
      private $file;
      private $todir;
      private $file_name;
     Â
      function setFile($file) {
         $this->file = $file;
      }
     Â
      function setToDir($todir) {
         $this->todir = $todir;
      }
     Â
      private function getDirectoryTree($BASE_DIR,$LEVEL=1){
         $THIS_DIR = array_diff( scandir($BASE_DIR), array_merge(array( ".", "..",".svn")) );
         foreach( $THIS_DIR as $DIR ) {
            if(is_dir($BASE_DIR."/".$DIR)){
               copy($this->file, $BASE_DIR."/".$DIR . "/" . $this->file_name);
               $this->getDirectoryTree($BASE_DIR."/".$DIR);
            }
         }
         return true;
      }
      <br>      function main() {
         $this->file_name = basename($this->file);
         $this->getDirectoryTree($BASE_DIR = $this->todir);
      }
   }
   ]]>
   </adhoc-task>
   <copyrecurse file="${workingDir}php.ini" todir="${workingDir}" />
I'm looking forward to using PHING in the future and integrating some of the tools it gives me access to. Hopefully more of us will start using it to help ensure it is maintained going forward.