<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-482145767206583584</id><updated>2026-10-14T10:55:35.080+01:00</updated><category term="PHP"/><category term="Linux  Ubuntu"/><category term="MySQL"/><category term="Ubuntu"/><category term="Apache"/><category term="How to"/><category term="arduino"/><category term="HTML"/><category term="PHP5"/><category term="Tutorial"/><category term="database"/><category term="CentOS"/><category term="Debian"/><category term="Design Patterns"/><category term="OpenSUSE"/><category term="Professional"/><category term="CSS"/><category term="JavaScript"/><category term="LAMP"/><category term="Microsoft Windows"/><category term="SQL"/><category term="Sun Virtual Box"/><category term="XML"/><category term="administration"/><category term="command"/><category term="programming"/><category term="Apple"/><category term="Cacti"/><category term="Fedora"/><category term="GIMP"/><category term="HTML5"/><category term="Image"/><category term="Linux"/><category term="Microsoft Office"/><category term="NET-SNMP"/><category term="Netbeans"/><category term="Oracle"/><category term="RRDtool"/><category term="Samba"/><category term="T-SQL"/><category term="Transact-SQL"/><category term="Visual Basic 2008"/><category term="Web"/><category term="Word 2007"/><category term="arduino Uno"/><category term="backup"/><category term="communication"/><category term="electronics"/><category term="jquery"/><category term="phpmyadmin"/><category term="poll"/><category term="serial port"/><category term=".htaccess"/><category term="Android"/><category term="C"/><category term="Color"/><category term="Composite Pattern"/><category term="DNS"/><category term="DTP"/><category term="Data Model"/><category term="Data Warehouse"/><category term="Decorator Pattern"/><category term="Dennis Ritchie"/><category term="Entity-Relationship"/><category term="Entity-Relationship model"/><category term="Euro"/><category term="Express Edition"/><category term="Facade Pattern"/><category term="FreeBSD"/><category term="Gliffy"/><category term="Gnome"/><category term="Happy Halloween"/><category term="Happy New Year"/><category term="IP"/><category term="Internet Explorer"/><category term="LDAP"/><category term="Mac iOs"/><category term="Manipulation"/><category term="Merry Christmas"/><category term="Microsoft Visio"/><category term="Microsoft Visual Basic 2010"/><category term="Mint"/><category term="NTP"/><category term="OSCommerce"/><category term="Observer Pattern"/><category term="PL/SQL"/><category term="Processing Language"/><category term="Program"/><category term="SWAT"/><category term="Scribus"/><category term="Software Design"/><category term="Steve Jobs"/><category term="Sunset Software OS"/><category term="TCP"/><category term="TRY...CATCH"/><category term="Time"/><category term="UML"/><category term="Unity"/><category term="Unix"/><category term="Vi"/><category term="Vim"/><category term="Web colors"/><category term="Windows 7"/><category term="Windows Phone"/><category term="XSLT"/><category term="background"/><category term="book"/><category term="box model"/><category term="decode"/><category term="desktop"/><category term="desktop publishing"/><category term="driver"/><category term="editor"/><category term="flowchart"/><category term="how to install"/><category term="index"/><category term="install"/><category term="interface virtual"/><category term="mobile operating system"/><category term="nano"/><category term="network"/><category term="pc"/><category term="pico"/><category term="planning"/><category term="plugin"/><category term="print"/><category term="problem"/><category term="rar"/><category term="sl"/><category term="solution"/><category term="system administration"/><category term="top five"/><category term="train"/><category term="unrar"/><category term="use case"/><category term="use case diagram"/><category term="websites"/><category term="youtube"/><title type='text'>Sunset Software</title><subtitle type='html'>A blog about Linux, PHP, CSS, SQL, HTML, JavaScript, jQuery and  Technology in general.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-6288115954749484764</id><published>2013-04-30T01:00:00.000+01:00</published><updated>2013-04-30T01:00:03.551+01:00</updated><title type='text'>Blog closed</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;After 27 months I have published posts and videos at Youtube, I decided to have a new chapter of my life. I will stop to blogging at May 1&lt;sup&gt;st&lt;/sup&gt; 2013. If you want to contact me, please contact me via Twitter. I would like to thanks to my readers and God for opportunity to blogging tutorials and another stuff.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/6288115954749484764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/blog-closed.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/6288115954749484764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/6288115954749484764'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/blog-closed.html' title='Blog closed'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-5962172437524423540</id><published>2013-04-25T13:32:00.000+01:00</published><updated>2013-04-25T13:32:00.530+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CentOS"/><category scheme="http://www.blogger.com/atom/ns#" term="command"/><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="DNS"/><category scheme="http://www.blogger.com/atom/ns#" term="interface virtual"/><title type='text'>How to create a virtual interface on CentOS or Debian</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}

.article #red{
  color: #F00;
}

.article table{
  border: 1px solid #000;
  text-align: center;
}

.article th{
 background-color: #8a2be2;
 color: #000;
}

.article #paint{
 background-color: #cdb79e;
}

.article #question{
 font-style: italic;
}

.article ol{
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;I was working on my DNS server and I wanted to create a virtual interface to distinguish internal requests from external requests. The command to create a virtual interface is:&lt;/p&gt;
&lt;div id=&quot;code&quot;&gt;ifconfig eth0:0 199.133.189.122 netmask 255.255.255.192 up&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/5962172437524423540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/how-to-create-virtual-interface-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5962172437524423540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5962172437524423540'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/how-to-create-virtual-interface-on.html' title='How to create a virtual interface on CentOS or Debian'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-1406922192730566157</id><published>2013-04-16T12:39:00.002+01:00</published><updated>2013-04-16T12:39:44.883+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="Observer Pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP5"/><category scheme="http://www.blogger.com/atom/ns#" term="Professional"/><title type='text'>Design Patterns - Observer Pattern</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 14px;
}

.article #book{
 text-transform: uppercase;
 margin: 5px;
 padding: 5px;
 color: #fff;
 background-color: #f00;
 border-radius: 10px;
 -moz-border-radius:10px /*Old firefox*/
}

.article img{
 display:block;
 margin-left:auto;
 margin-right:auto;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A design pattern is a specific way of solving a particular problem. They are not simply about reusing code; they are more abstract and generalized than that. They are about using reusing ideas.&lt;/p&gt;
&lt;h1&gt;The Observer Pattern&lt;/h1&gt;
&lt;p&gt;Often, you&#39;ll have data in your application in your application that changes over time. Say that you have some GUI components that are required to show this data and update it when it changes. How would you handle it? One solution might be to pass the newly updated data to a method of the GUI component so that could redraw the information. A problem with this approach is remembering to do that each time the data is updated. What if it&#39;s not clear how often the data will be updated, and whether you want the GUI to update automatically when it does?&lt;/p&gt;
&lt;p&gt;The observer pattern solves this problem by using two interfaces, &lt;i&gt;Observer&lt;/i&gt; and &lt;i&gt;Observable&lt;/i&gt;. As the names suggests, the &lt;i&gt;Observer&lt;/i&gt; &amp;quot;watches&amp;quot; the &lt;i&gt;Observable&lt;/i&gt; to see whether it changes.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Keeping with the theme of human senses, an &lt;u&gt;Observer&lt;/u&gt; is sometimes called a &lt;u&gt;Listener&lt;/u&gt;, but for this chapter we stick with the former name.&lt;/i&gt;&lt;p/&gt;
&lt;p&gt;In its most basic implementation, the &lt;i&gt;Observable&lt;/i&gt; can add &lt;i&gt;Observers&lt;/i&gt;. &lt;i&gt;Observable&lt;/i&gt; then is responsible for notifying them if anything about its state has changed, and the &lt;i&gt;Observer&lt;/i&gt; is responsible for reacting to the change. In this example, our data is the &lt;i&gt;Observable&lt;/i&gt; and the GUI components are the &lt;i&gt;Observers&lt;/i&gt;. If the data changes, those changes will automatically be reflected in any GUI component that is an &lt;i&gt;Observer&lt;/i&gt; of the data. Next figure demonstrates the observer pattern&lt;/p&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEA66S3VBdAtgWdzl699jOwVueIPIEDgtUenBQpykJRRK3w1BPFCR1wesQRIibGZTYFGYiGxS9UcTAHSbu8kBobqe1SThkxMAXCxfRxVWm2y8Q_0oDcH3Dy8O3bc6K4EuvDbOqgJDW5Sc/s1600/img011.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEA66S3VBdAtgWdzl699jOwVueIPIEDgtUenBQpykJRRK3w1BPFCR1wesQRIibGZTYFGYiGxS9UcTAHSbu8kBobqe1SThkxMAXCxfRxVWm2y8Q_0oDcH3Dy8O3bc6K4EuvDbOqgJDW5Sc/s320/img011.jpg&quot; /&gt;&lt;/a&gt;
&lt;h3&gt;Widgets&lt;/h3&gt;
&lt;p&gt;Continuing with the previous example, you&#39;ll use the observer pattern to handle displaying price information for some of the instruments within graphical elements on a Web page. First, you&#39;ll need to define some simple graphical components. These components will be basic HTML table structures whose functionality will be contained within an object. Such components often go under the all-purpose term of &lt;i&gt;widgets&lt;/i&gt;.&lt;/p&gt;
&lt;h3&gt;Designing the Widgets&lt;/h3&gt;
&lt;p&gt;A graphical widget will have two responsibilities. It will need to draw its own HTML so that it can be seen on a Web page, and it will need to update the data it displays. You may have noticed (from previous figure) that an &lt;i&gt;update&lt;/i&gt; method is defined in the Observer interface.&lt;/p&gt;
&lt;p&gt;Each widget is an &lt;i&gt;Observer&lt;/i&gt;. The item being observed is the data representing the instrument name and price information. The data source is &lt;i&gt;Observable&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;All widgets, then, should implement the &lt;i&gt;Observer&lt;/i&gt; interface. In addition, each one should descend from an abstract class that defines some shared functionality between widget objects. This is an example of using interfaces and abstract class together. Because the &lt;i&gt;update()&lt;/i&gt; method is the same for all widgets, it can be implemented in the abstract class. The class diagram is shown in next figure.&lt;/p&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq7mjjhlmw0wsWTKc_xpd9zKuEtWJw2fjUMfQm_N00DexmFNOoVvYDW0ikQiywIPLwsoARhiPbiRq1JtP0s5EDDJ3W7QS_glkom7iZtLR1ZaOyxvTsLgz0Seij9blkMEOgmZp3YfsH8DM/s1600/img010.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq7mjjhlmw0wsWTKc_xpd9zKuEtWJw2fjUMfQm_N00DexmFNOoVvYDW0ikQiywIPLwsoARhiPbiRq1JtP0s5EDDJ3W7QS_glkom7iZtLR1ZaOyxvTsLgz0Seij9blkMEOgmZp3YfsH8DM/s320/img010.jpg&quot; /&gt;&lt;/a&gt;
&lt;p&gt;Now all concrete implementations of widgets will descend from the &lt;i&gt;AbstractWidget&lt;/i&gt; class. The &lt;i&gt;AbstractWidget&lt;/i&gt; class in the turn implements the &lt;i&gt;Observer&lt;/i&gt; interface. Notice the &lt;i&gt;update()&lt;/i&gt; method in the class diagram for &lt;i&gt;AbstractWidget&lt;/i&gt; is not shown in italics. This means that the method is actually implemented at that point. The # symbol indicates that the &lt;i&gt;internalData&lt;/i&gt; property is protected. That means subclasses of &lt;i&gt;AbstractWidget&lt;/i&gt; have access to it. If it were private, subclasses would not be able to access it.&lt;/p&gt;
&lt;div id=&quot;book&quot;&gt;All text and images above is from the book:&amp;quot;Professional PHP5&amp;quot; &lt;i&gt;ISBN: 0-7645-7282-2&lt;/i&gt; (Lecky-Thompson et al., 2005)&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/1406922192730566157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/design-patterns-observer-pattern.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/1406922192730566157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/1406922192730566157'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/design-patterns-observer-pattern.html' title='Design Patterns - Observer Pattern'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEA66S3VBdAtgWdzl699jOwVueIPIEDgtUenBQpykJRRK3w1BPFCR1wesQRIibGZTYFGYiGxS9UcTAHSbu8kBobqe1SThkxMAXCxfRxVWm2y8Q_0oDcH3Dy8O3bc6K4EuvDbOqgJDW5Sc/s72-c/img011.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-8688061155936279478</id><published>2013-04-16T12:39:00.001+01:00</published><updated>2013-04-16T12:39:26.234+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="administration"/><category scheme="http://www.blogger.com/atom/ns#" term="CentOS"/><category scheme="http://www.blogger.com/atom/ns#" term="How to"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="NTP"/><title type='text'>How to configure NTP Server and Client on CentOS</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}

.article #red{
  color: #F00;
}

.article #statement{
 font-style: italic;
}

.article ol{
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #book{
 text-transform: uppercase;
 margin: 5px;
 padding: 5px;
 color: #fff;
 background-color: #f00;
 border-radius: 10px;
 -moz-border-radius:10px /*Old firefox*/
}

.article #book a{
 color: #00F;
}

.article img{
 display:block;
 margin-left:auto;
 margin-right:auto;
}

.article #citation{
 font:italic bold 14px Georgia,serif;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p id=&quot;citation&quot;&gt;NTP is widely used to synchronize a computer to Internet time servers or other sources, such as a radio or satellite receiver or telephone modem service. It can also be used as a server for dependent clients. It provides accuracies typically less than a millisecond on LANs and up to a few milliseconds on WANs. Typical NTP configurations utilize multiple redundant servers and diverse network paths in order to achieve high accuracy and reliability.&lt;/p&gt;&lt;div id=&quot;book&quot;&gt;Text retired from &lt;a href=&quot;http://www.eecis.udel.edu/~mills/ntp/html/index.html#intro&quot;&gt;Web page&#39;s Network Time Protocol&lt;/a&gt;&lt;/div&gt;
&lt;h1&gt;Configure NTP Server&lt;/h1&gt;
&lt;ol id=&quot;code&quot;&gt;
&lt;li&gt;yum install ntp (and type &#39;y&#39; when show up two questions);&lt;/li&gt;
&lt;li&gt;vi /etc/ntp.conf&lt;/li&gt;
&lt;li&gt;Add the next statement for accept requests from another servers (DNS server, LDAP server, etc.) on your LAN:
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;restrict 10.50.0.0 mask 255.255.255.0 nomodify nopeer noquery&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Add the next statement for public servers NTP synchronize with server&#39;s internal clock on your LAN:
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;server 0.europe.pool.ntp.org&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;server 1.europe.pool.ntp.org&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;server 2.europe.pool.ntp.org&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;server 3.europe.pool.ntp.org&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;This command allow to set current time from indicated NTP server:
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;ntpdate pool.ntp.org&lt;/span&gt;&lt;/li&gt; 
&lt;li&gt;The same server can be defined on configuration file:
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;vi /etc/ntp/step-tickers&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;pool.ntp.org&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id=&quot;statement&quot;&gt;service ntpd start&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Make sure the ntpd is active from beginning Linux boot;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;chkconfig ntpd on&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Checking synchronization status of service NTP.
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;nptq -pn&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;tail -f /var/log/messages&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Configure NTP Client&lt;/h1&gt;
&lt;ol id=&quot;code&quot;&gt;
&lt;li&gt;This file allows to set server NTP to use for initial adjust clock during starting of ntpd:
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;vi /etc/ntp/step-tickers&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;10.50.0.254&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;On the file /etc/ntp.conf, all you need is add server NTP&#39;s IP address to use:
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;vi /etc/ntp.conf&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;server 10.50.0.254&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Checking synchronization status of service NTP.
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;nptq -pn&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;statement&quot;&gt;tail -f /var/log/messages&lt;/span&gt;
&lt;br/&gt;&lt;span id=&quot;red&quot;&gt;It can take long to see message of success. When I was configuring, it took about 1 hour.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;This protocol allows to keep operating system&#39;s clock synchronized with high accurate, running at information of synchronism got from another NTP servers.&lt;/p&gt;
&lt;p&gt;Although the configuration is relatively simple, NTP performances a very important role. The possibility to make sure that clocks from many servers are kept with right time is relevant and it is a important factor to correct of many applications. The correction of local time in operating system allows also ensure that logs recorded in operating system have correct time and that is important when I use logs to diagnostic problems of some services.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/8688061155936279478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/how-to-configure-ntp-server-and-client.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8688061155936279478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8688061155936279478'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/how-to-configure-ntp-server-and-client.html' title='How to configure NTP Server and Client on CentOS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-2956173088955471379</id><published>2013-04-16T12:39:00.000+01:00</published><updated>2013-04-16T12:39:11.702+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP5"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Web"/><title type='text'>Validation Email Address: Server side vs Client side</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}

.article ol{
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;The week ago I was programming my web application using PHP5.&lt;/p&gt;
&lt;p&gt;There is two ways to validate email:
&lt;ol&gt;
&lt;li&gt;On server side (using &lt;a href=&quot;http://php.net/manual/en/filter.examples.validation.php&quot;&gt;filter_var&lt;/a&gt; from PHP5)&lt;/li&gt;
&lt;li&gt;On client side (using input type email from &lt;a href=&quot;http://www.w3schools.com/tags/att_input_type.asp&quot;&gt;HTML5&lt;/a&gt;)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;PHP5 example&lt;/h3&gt;
&lt;pre id=&quot;code&quot;&gt;
$email = &quot;xpto@email.com&quot;;
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo &quot;This &quot;.$email.&quot; email address is considered valid.&quot;;
}
&lt;/pre&gt;
&lt;h3&gt;HTML5 example&lt;/h3&gt;
&lt;pre id=&quot;code&quot;&gt;
&amp;lt;form action=&quot;file.php&quot; method=&quot;post&quot;&amp;gt;
  E-mail: &amp;lt;input type=&quot;email&quot; name=&quot;useremail&quot;&amp;gt;&amp;lt;br&amp;gt;
  &amp;lt;input type=&quot;submit&quot;&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;In my opinion it is better validate email on client side instead server side. So don&#39;t validate email on server side because it takes a lot work to warn user that has an invalid email address. With client side to validate email, it saves a lot work to warn user that has an invalid email address.&lt;/p&gt;
&lt;p&gt;But if you are programming a web application using OOP, it is good idea to validate email from server side because you are not using form to validate email but you are using object, for example:
&lt;pre id=&quot;code&quot;&gt;
class User{
  private $name, email;
 
  public function __construct($name,$email){
   $this-&gt;name=$name;
   $this-&gt;email=validate($email);
  }
  
 private function validate($email){
  $mail = &quot;&quot;;
  if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
   $mail = $email;
  }else{
    echo &quot;This $email is not valid!&quot;;
   }
  return $mail;
 }
}
$user = new User(&quot;Peter&quot;,&quot;peter@xpto.com&quot;);//valid email
$user = new User(&quot;Paul&quot;,&quot;kjfddks&quot;);//prints &quot;This kjfddks is not valid!&quot;
&lt;/pre&gt;&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/2956173088955471379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/validation-email-address-server-side-vs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/2956173088955471379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/2956173088955471379'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/validation-email-address-server-side-vs.html' title='Validation Email Address: Server side vs Client side'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-5976463093055745901</id><published>2013-04-16T12:38:00.001+01:00</published><updated>2013-04-16T12:38:56.919+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debian"/><category scheme="http://www.blogger.com/atom/ns#" term="How to"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Windows"/><category scheme="http://www.blogger.com/atom/ns#" term="Samba"/><category scheme="http://www.blogger.com/atom/ns#" term="SWAT"/><title type='text'>Sharing folders without login - Samba</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}

.article ol{
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;Samba is an open source software that allows to solve communications problems between Windows and Linux. With Samba, you can share folders, printers for Windows clients and can perform as a Primary Domain Controller (PDC) or as domain member. Samba can also be part of an Active Directory (AD) domain.&lt;/p&gt;
&lt;p&gt;As a Systems Administrator, one of first things I wanted to do was share folders on Debian with my Windows to transfer easily files. My Debian is a local Web Server to test my PHP5 applications (yes, I am also PHP5 developer). Why do I want share folders without password? Because it is painful every time I need to login and I am working at home where is no danger around me. No one can crack me at home. At home, it is a great way to share files without login.&lt;/p&gt;
&lt;ol id=&quot;code&quot;&gt;How to install and configure samba
&lt;li&gt;su -&lt;/li&gt;
&lt;li&gt;&lt;i&gt;insert your root&#39;s password&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;mkdir /home/&lt;i&gt;yourusername&lt;/i&gt;/mysharedfolder&lt;/li&gt;
&lt;li&gt;chown nobody /home/&lt;i&gt;yourusername&lt;/i&gt;/mysharedfolder&lt;/li&gt;
&lt;li&gt;apt-get install samba&lt;/li&gt;
&lt;li&gt;nano /etc/samba/smb.conf&lt;/li&gt;
&lt;li&gt;security = share&lt;/li&gt;
&lt;li&gt;guest account = nobody&lt;/li&gt;
&lt;li&gt;&lt;pre&gt;
[mysharedfolder]
writable = yes
path = /path/to/directory
public = yes
guest ok = yes
guest only = yes
guest account = nobody
browsable = yes
&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;Ctrl+X and then y&lt;/li&gt;
&lt;li&gt;service samba restart&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Optionally, you can use Samba Web Administration Tool (SWAT) to configure the settings of shared folder.&lt;/p&gt;
&lt;ol id=&quot;code&quot;&gt;How to install SWAT
&lt;li&gt;apt-get install swat&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Go to your favorite web browser and type the next URL:&lt;/i&gt; http://localhost:901&lt;/li&gt;
&lt;li&gt;&lt;i&gt;insert your root login&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;watch the next video how to configure samba&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Samba is very useful tool for who want share files between Windows and Linux and SWAT is also very useful for who want configure settings of sharing easily.&lt;/p&gt;
&lt;p&gt;I have created another article about Samba before but this one requires a login. If you want to do login, please read this &lt;a href=&quot;http://sunsetsoftware.blogspot.pt/2012/08/how-to-install-samba.html&quot;&gt;article&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/5976463093055745901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/sharing-folders-without-login-samba.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5976463093055745901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5976463093055745901'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/sharing-folders-without-login-samba.html' title='Sharing folders without login - Samba'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-5759114090817531825</id><published>2013-04-16T12:38:00.000+01:00</published><updated>2013-04-16T12:38:25.331+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="box model"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>Box Model - CSS Tutorial</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}

.article #red{
  color: #F00;
}

.article table{
  border: 1px solid #000;
  text-align: center;
}

.article th{
 background-color: #8a2be2;
 color: #000;
}

.article #paint{
 background-color: #cdb79e;
}

.article #question{
 font-style: italic;
}

.article ol{
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;After I want to get better my skills as Web Designer, I decided to study again all concepts of CSS! And there is one thing I consider very important: &lt;strong&gt;Box Model.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;question&quot;&gt;But what is Box Model and why is it very important?&lt;/span&gt;&lt;br /&gt;
The Box Model is a box that wraps around HTML elements. It is very important because it allow the design become more organized and clean.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;question&quot;&gt;What consists Box Model?&lt;/span&gt;&lt;br /&gt;
Box Model consits of four things:&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Margin&lt;/strong&gt; - Clears an area around the border. The margin does not have a background color, it is completely transparent;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Border&lt;/strong&gt; - A border that goes around the padding and content. The border is affected by the background color of the box;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Padding&lt;/strong&gt; - Clears an area around the content. The padding is affected by the background color of the box&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content&lt;/strong&gt; - The content of the box, where text and images appear&lt;/li&gt;&lt;/ol&gt;
&lt;/p&gt;
&lt;center&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBK2Z5Y_zLzSC695oUBJe-X8RBoWEUOyC8rxe5kmMCB9mv3vhDGZfFLNRPmlmkFjlR5-cGXy5KTx517X4t78lC4YxP0CdfT-JviPkutuuCGlvU3ITfJq_hPuwV14eiYxCopmAyIXlF3WQ/s1600/box-model.gif&quot; imageanchor=&quot;1&quot; style=&quot;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBK2Z5Y_zLzSC695oUBJe-X8RBoWEUOyC8rxe5kmMCB9mv3vhDGZfFLNRPmlmkFjlR5-cGXy5KTx517X4t78lC4YxP0CdfT-JviPkutuuCGlvU3ITfJq_hPuwV14eiYxCopmAyIXlF3WQ/s400/box-model.gif&quot; /&gt;&lt;/a&gt;&lt;/center&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/5759114090817531825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/box-model-css-tutorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5759114090817531825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5759114090817531825'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/box-model-css-tutorial.html' title='Box Model - CSS Tutorial'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBK2Z5Y_zLzSC695oUBJe-X8RBoWEUOyC8rxe5kmMCB9mv3vhDGZfFLNRPmlmkFjlR5-cGXy5KTx517X4t78lC4YxP0CdfT-JviPkutuuCGlvU3ITfJq_hPuwV14eiYxCopmAyIXlF3WQ/s72-c/box-model.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-3246769194829210904</id><published>2013-04-16T12:37:00.000+01:00</published><updated>2013-04-16T12:37:54.568+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="Facade Pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP5"/><category scheme="http://www.blogger.com/atom/ns#" term="Professional"/><title type='text'>Design Patterns - Facade Pattern</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 14px;
}

.article #book{
 text-transform: uppercase;
 margin: 5px;
 padding: 5px;
 color: #fff;
 background-color: #f00;
 border-radius: 10px;
 -moz-border-radius:10px /*Old firefox*/
}

.article img{
 display:block;
 margin-left:auto;
 margin-right:auto;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A design pattern is a specific way of solving a particular problem. They are not simply about reusing code; they are more abstract and generalized than that. They are about using reusing ideas.&lt;/p&gt;
&lt;h1&gt;The Facade Pattern&lt;/h1&gt;
&lt;p&gt;The best way to understand the facade pattern is to look at a component diagram of a system before and after using a facade.&lt;/p&gt;
&lt;p&gt;The next figure shows the front end of a Web site communicating with an application on the Web server. In the right side of the diagram, the front end code is accessing various objects in the application. On the left, showing the facade, the front end communicates only with the facade object, which in turn delegates responsibilities to the internal objects.&lt;/p&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih23GPn8as7uttYEeqof4jbtLm37dHutvHLV1fcMSsE-dr-lOyBPDGuGOUJvt05z7k22OU4_4qYENccggssBwsbep9Gfbuo3woz005wM9hXCe6mcJ-3lCdGncJXWrJ7IHcih70IWeNzHw/s1600/img009.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih23GPn8as7uttYEeqof4jbtLm37dHutvHLV1fcMSsE-dr-lOyBPDGuGOUJvt05z7k22OU4_4qYENccggssBwsbep9Gfbuo3woz005wM9hXCe6mcJ-3lCdGncJXWrJ7IHcih70IWeNzHw/s320/img009.jpg&quot; /&gt;&lt;/a&gt;
&lt;div id=&quot;book&quot;&gt;All text and images above is from the book:&amp;quot;Professional PHP5&amp;quot; &lt;i&gt;ISBN: 0-7645-7282-2&lt;/i&gt; (Lecky-Thompson et al., 2005)&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/3246769194829210904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/design-patterns-facade-pattern.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/3246769194829210904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/3246769194829210904'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/design-patterns-facade-pattern.html' title='Design Patterns - Facade Pattern'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih23GPn8as7uttYEeqof4jbtLm37dHutvHLV1fcMSsE-dr-lOyBPDGuGOUJvt05z7k22OU4_4qYENccggssBwsbep9Gfbuo3woz005wM9hXCe6mcJ-3lCdGncJXWrJ7IHcih70IWeNzHw/s72-c/img009.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-4741787727883662252</id><published>2013-04-01T10:24:00.000+01:00</published><updated>2013-04-01T10:24:00.409+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Decorator Pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP5"/><category scheme="http://www.blogger.com/atom/ns#" term="Professional"/><title type='text'>Design Patterns - Decorator Pattern</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 14px;
}

.article #book{
 text-transform: uppercase;
 margin: 5px;
 padding: 5px;
 color: #fff;
 background-color: #f00;
 border-radius: 10px;
 -moz-border-radius:10px /*Old firefox*/
}

.article img{
 display:block;
 margin-left:auto;
 margin-right:auto;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A design pattern is a specific way of solving a particular problem. They are not simply about reusing code; they are more abstract and generalized than that. They are about using reusing ideas.&lt;/p&gt;
&lt;h1&gt;The Decorator Pattern&lt;/h1&gt;
&lt;p&gt;The two concrete widgets created for the observer pattern have a different appearance. If you needed to add a new style of widget, you would subclass &lt;i&gt;Widget&lt;/i&gt; and implement the &lt;i&gt;draw()&lt;/i&gt; method to write the HTML. Say that needed to add a feature to all existing widgets, such as border. You could go into each &lt;i&gt;draw()&lt;/i&gt; method and add some more HTML to each, but then the border would be hard-coded and all widgets would be forced to have a border. You could create a new set of subclasses of existing concrete widgets that implemented the border in the &lt;i&gt;draw()&lt;/i&gt; method. If you had only two widgets, as in the &lt;i&gt;Observer&lt;/i&gt; example, this might be an option - you would end up with four widgets. However, if you had five widgets to start with, it might not seem so appealing. Suddenly you have a lot of widget classes to worry about.&lt;/p&gt;
&lt;p&gt;There is another way to handle situations like this, one that doesn&#39;t require you to create a new subclass for every widget you want to add a border to. Using the decorator pattern allows you to add features or functionality to existing objects without using inheritance. Next figure shows the class diagram for the decorator pattern.&lt;/p&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzid-2cJq9MgBCdDq9U36VyjgD_h6AiR_j3h0UuyvF2h4tDiuIjaf1e3Vgcv51tpx2u_qX_I0IOHzlcc87TwHfiqCVj3sJHDEw4ILYJ2wB7d0goOet776djdgVjtQSu1-Jhqq3XnfqZ8s/s1600/img008.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzid-2cJq9MgBCdDq9U36VyjgD_h6AiR_j3h0UuyvF2h4tDiuIjaf1e3Vgcv51tpx2u_qX_I0IOHzlcc87TwHfiqCVj3sJHDEw4ILYJ2wB7d0goOet776djdgVjtQSu1-Jhqq3XnfqZ8s/s320/img008.jpg&quot; /&gt;&lt;/a&gt;
&lt;p&gt;The class diagram indicates that &lt;i&gt;Decorators&lt;/i&gt; are a type of Widget, too. This is good because we don&#39;t want to change the way we access a &lt;i&gt;Widget&lt;/i&gt;, whether it&#39;s decorated or not.&lt;/p&gt;
&lt;div id=&quot;book&quot;&gt;All text and images above is from the book:&amp;quot;Professional PHP5&amp;quot; &lt;i&gt;ISBN: 0-7645-7282-2&lt;/i&gt; (Lecky-Thompson et al., 2005)&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/4741787727883662252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/design-patterns-decorator-pattern.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/4741787727883662252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/4741787727883662252'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/04/design-patterns-decorator-pattern.html' title='Design Patterns - Decorator Pattern'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzid-2cJq9MgBCdDq9U36VyjgD_h6AiR_j3h0UuyvF2h4tDiuIjaf1e3Vgcv51tpx2u_qX_I0IOHzlcc87TwHfiqCVj3sJHDEw4ILYJ2wB7d0goOet776djdgVjtQSu1-Jhqq3XnfqZ8s/s72-c/img008.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-8125716248225075479</id><published>2013-03-21T16:37:00.000+00:00</published><updated>2013-03-21T16:37:00.599+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Composite Pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP5"/><category scheme="http://www.blogger.com/atom/ns#" term="Professional"/><title type='text'>Design Patterns - Composite Pattern</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 14px;
}

.article #book{
 text-transform: uppercase;
 margin: 5px;
 padding: 5px;
 color: #fff;
 background-color: #f00;
 border-radius: 10px;
 -moz-border-radius:10px /*Old firefox*/
}

.article img{
 margin-left:auto;
 margin-right:auto;
 display:block;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A design pattern is a specific way of solving a particular problem. They are not simply about reusing code; they are more abstract and generalized than that. They are about using reusing ideas.&lt;/p&gt;
&lt;h1&gt;Composite Pattern&lt;/h1&gt;
&lt;p&gt;The next figure shows the general case for the composite:&lt;/p&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnizaYWUOWBN-JHe0Cfk4lKTAzmJ5KDqyNQKKleG7nmmc_P9m9KCpjc0YM7OnF_RuvcqrQGmMIkt8TTNWxIHB017hg1IepAKJI5F6dGUJX4IKhmPRcoDXQfPceD79V7fizt09DVWv8pXU/s1600/img005.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnizaYWUOWBN-JHe0Cfk4lKTAzmJ5KDqyNQKKleG7nmmc_P9m9KCpjc0YM7OnF_RuvcqrQGmMIkt8TTNWxIHB017hg1IepAKJI5F6dGUJX4IKhmPRcoDXQfPceD79V7fizt09DVWv8pXU/s320/img005.jpg&quot; /&gt;&lt;/a&gt;
&lt;p&gt;The composite pattern has two parts: the &lt;i&gt;Component&lt;/i&gt; abstract class and the &lt;i&gt;Composite&lt;/i&gt;, which is a concrete implementation of the &lt;i&gt;Component&lt;/i&gt; class. All &lt;i&gt;Composite&lt;/i&gt; objects descend from the abstract &lt;i&gt;Component&lt;/i&gt; class. Any &lt;i&gt;Component&lt;/i&gt; can contain other &lt;i&gt;Components&lt;/i&gt;. A &lt;i&gt;Component&lt;/i&gt; with no children can be thought of as an empty &lt;i&gt;Composite&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Moving back from the general case, it will be necessary to make a change in the design and switch the &lt;i&gt;Instrument&lt;/i&gt; interface to an abstract class. Interfaces and abstract classes are similar because neither one can be used directly to instantiate an object. The key difference is that an abstract class can have some fully implemented methods, whereas interfaces just have method declarations.&lt;/p&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha2Q5yShszmyWGkSwP_ZmQ5XdvKzhYwpZR1qxuOzYrxHoFCOU8m8zQGZzpv1lcrgbnRCjEYD-gBrfwxiFEMV9HB-EkNoGl1GdUaQyJPLFyQrdpnPo3Bmw_-Y9zB3NBvgLEFkC-vJKqklU/s1600/img007.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha2Q5yShszmyWGkSwP_ZmQ5XdvKzhYwpZR1qxuOzYrxHoFCOU8m8zQGZzpv1lcrgbnRCjEYD-gBrfwxiFEMV9HB-EkNoGl1GdUaQyJPLFyQrdpnPo3Bmw_-Y9zB3NBvgLEFkC-vJKqklU/s320/img007.jpg&quot; /&gt;&lt;/a&gt;
&lt;div id=&quot;book&quot;&gt;All text and images above is from the book:&amp;quot;Professional PHP5&amp;quot; &lt;i&gt;ISBN: 0-7645-7282-2&lt;/i&gt; (Lecky-Thompson et al., 2005)&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/8125716248225075479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/03/design-patterns-composite-pattern.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8125716248225075479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8125716248225075479'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/03/design-patterns-composite-pattern.html' title='Design Patterns - Composite Pattern'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnizaYWUOWBN-JHe0Cfk4lKTAzmJ5KDqyNQKKleG7nmmc_P9m9KCpjc0YM7OnF_RuvcqrQGmMIkt8TTNWxIHB017hg1IepAKJI5F6dGUJX4IKhmPRcoDXQfPceD79V7fizt09DVWv8pXU/s72-c/img005.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-6212583947040339812</id><published>2013-03-11T12:11:00.000+00:00</published><updated>2013-03-11T21:22:09.809+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CentOS"/><category scheme="http://www.blogger.com/atom/ns#" term="command"/><category scheme="http://www.blogger.com/atom/ns#" term="editor"/><category scheme="http://www.blogger.com/atom/ns#" term="nano"/><category scheme="http://www.blogger.com/atom/ns#" term="pico"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="Vi"/><category scheme="http://www.blogger.com/atom/ns#" term="Vim"/><title type='text'>Commands Vi/Vim editor</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}

.article #red_text{
  color: #F00;
}

.article table{
  border: 1px solid #000;
  text-align: center;
}

.article th{
 background-color: #8a2be2;
 color: #000;
}

.article #paint{
 background-color: #cdb79e;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;As system administrator, I have needed to edit configuration files of some services such as DNS (Domain Name System), LDAP (Lightweight Directory Access Protcol) and etc.&lt;/p&gt;
&lt;p&gt;The editor I was using frequently was nano and rarely I used pico. All those editors were used on Ubuntu. When I decided to fit in CentOS, I noticed that I had to install package nano. But I did not want to! I wanted to vary and then I searched and found editor Vi (also it is equal to Vim, although Vim has more features than Vi). I confess, at first time, it was very confused. I did not know what commands to edit file and much less how to save the changes and exit. So I googled and found some commands useful to edit files.&lt;/p&gt;
&lt;p&gt;Hereafter, you will see a list of commands to Vi/Vim editor:&lt;/p&gt;
&lt;center&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;:wq&lt;/td&gt;&lt;td&gt;Save the file and exit&lt;/td&gt;&lt;/tr&gt;
&lt;tr id=&quot;paint&quot;&gt;&lt;td&gt;:w&lt;/td&gt;&lt;td&gt;Save the file&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;:q&lt;/td&gt;&lt;td&gt;Quit and &lt;span id=&quot;red_text&quot;&gt;Vi/Vim refuses to exit if any changes was made&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id=&quot;paint&quot;&gt;&lt;td&gt;:!q&lt;/td&gt;&lt;td&gt;Quit without changes to save&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;:a&lt;/td&gt;&lt;td&gt;Append after cursor&lt;/td&gt;&lt;/tr&gt;
&lt;tr id=&quot;paint&quot;&gt;&lt;td&gt;:i&lt;/td&gt;&lt;td&gt;Insert after cursor&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;ESC&lt;/td&gt;&lt;td&gt;Exit insert/overwrite mode and go back to command mode&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;/center&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/6212583947040339812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/03/commands-vivim-editor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/6212583947040339812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/6212583947040339812'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/03/commands-vivim-editor.html' title='Commands Vi/Vim editor'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-6742946845201858966</id><published>2013-02-19T12:04:00.000+00:00</published><updated>2013-02-19T12:04:00.110+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>How to create tabs with JavaScript and HTML</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 14px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;If you want to create tabs on your website, it is good idea and you should do it! But how to create tabs? Good question!&lt;/p&gt;
&lt;p&gt;To create tabs you will use HTML elements and some code of JavaScript. Hereafter will show up HTML code.&lt;/p&gt;
&lt;pre id=&quot;code&quot;&gt;
&amp;lt;!-- tabs --&amp;gt;
&amp;lt;ul class=&quot;tabs&quot;&amp;gt;
&amp;lt;li&gt;&amp;lt;a href=&quot;#&quot;&amp;gt;Tab One&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&gt;&amp;lt;a href=&quot;#&quot;&amp;gt;Tab Two&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&gt;

&amp;lt;!-- panes --&amp;gt;
&amp;lt;div class=&quot;panes&quot;&amp;gt;
&amp;lt;div&amp;gt;Pane One&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;Pane Two&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Next you need JavaScript code to bind tabs to panes and enable the tabbing effect. Here is JavaScript code you need to.&lt;/p&gt;
&lt;pre id=&quot;code&quot;&gt;
$(function(){
$(&quot;ul.tabs&quot;).tabs(&quot;div.panes &amp;gt; panes &quot;);
});
&lt;/pre&gt;
&lt;p&gt;After HTML code and JavaScript Code, you can use your imagination to coding CSS. I like this snippet because it is minimal, easy and fast to see results.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/6742946845201858966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/02/how-to-create-tabs-with-javascript-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/6742946845201858966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/6742946845201858966'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/02/how-to-create-tabs-with-javascript-and.html' title='How to create tabs with JavaScript and HTML'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-7035149752677682189</id><published>2013-02-05T13:39:00.000+00:00</published><updated>2013-02-05T13:39:00.702+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CentOS"/><category scheme="http://www.blogger.com/atom/ns#" term="IP"/><category scheme="http://www.blogger.com/atom/ns#" term="network"/><category scheme="http://www.blogger.com/atom/ns#" term="system administration"/><category scheme="http://www.blogger.com/atom/ns#" term="TCP"/><title type='text'>Configuring TCP/IP with CentOS</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 14px;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p id=&quot;introduction&quot;&gt;The configuration of network TCP/IP allows prepare a server Linux to communicate on network IP, trough setting network interfaces, addresses IP and remaining parameters of configuration. On this article, I will analyse how the way can commands to be used on Linux server.&lt;/p&gt;
&lt;center&gt;&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/9QB1V-WzSqQ&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/center&gt;
&lt;p id=&quot;conclusion&quot;&gt;I had a chance to analyse the main files of network configuration used on Linux CentOS and I saw that a lot of those files appears on most Linux distro. Also it is important to have a knowledge of some commands like &lt;b&gt;ifconfig&lt;/b&gt; and &lt;b&gt;route&lt;/b&gt;. Why is it important? Because those commands will allow you to analyse and solve problems of network configuration in future.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/7035149752677682189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/02/configuring-tcpip-with-centos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/7035149752677682189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/7035149752677682189'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/02/configuring-tcpip-with-centos.html' title='Configuring TCP/IP with CentOS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/9QB1V-WzSqQ/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-8819254036381199828</id><published>2013-01-22T15:59:00.000+00:00</published><updated>2013-01-22T15:59:00.249+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac iOs"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile operating system"/><category scheme="http://www.blogger.com/atom/ns#" term="poll"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone"/><title type='text'>What is your favorite mobile operating system? - Results</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 14px;
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;On December 31&lt;sup&gt;st&lt;/sup&gt; 2012, the poll &quot;What is your favorite mobile operating system?&quot; closed! There was 21 votes to indicate the favorite mobile operating system .&lt;/p&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW4TJBypj4JTg1yLDtZQ_c8YjZoeOnWFru22NX-ozfVXLxaBuhGqlg4cXS3Iq5aRz-bMUzXi2OgjzSdh6KP5xJ3Iz0lNYf8oZkYCX4Zv2_WsRTVDHqqmAMzHaBqemJj-P3o11stUxwql0/s1600/poll+votes+what+is+your+favorite+mobile+operating+system.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW4TJBypj4JTg1yLDtZQ_c8YjZoeOnWFru22NX-ozfVXLxaBuhGqlg4cXS3Iq5aRz-bMUzXi2OgjzSdh6KP5xJ3Iz0lNYf8oZkYCX4Zv2_WsRTVDHqqmAMzHaBqemJj-P3o11stUxwql0/s400/poll+votes+what+is+your+favorite+mobile+operating+system.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;I have to say that I am not surprised for Android&#39;s votes but I am very surprised with Windows Phone&#39;s votes. Is Windows Phone ahead of Mac iOS? That I was not expected for!!!&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/8819254036381199828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/01/what-is-your-favorite-mobile-operating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8819254036381199828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8819254036381199828'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/01/what-is-your-favorite-mobile-operating.html' title='What is your favorite mobile operating system? - Results'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW4TJBypj4JTg1yLDtZQ_c8YjZoeOnWFru22NX-ozfVXLxaBuhGqlg4cXS3Iq5aRz-bMUzXi2OgjzSdh6KP5xJ3Iz0lNYf8oZkYCX4Zv2_WsRTVDHqqmAMzHaBqemJj-P3o11stUxwql0/s72-c/poll+votes+what+is+your+favorite+mobile+operating+system.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-8085370270751375093</id><published>2013-01-04T11:43:00.000+00:00</published><updated>2013-01-04T11:43:00.699+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>How to return a page before current</title><content type='html'>&lt;style&gt;
.article p{
  text-align:justify;
  text-indent: 25px;
  font-family: &quot;Arial&quot;,&quot;Verdana&quot;,sans-serif;
  font-size: 16px;
}

.article #php{
  font-size: 16px;
  color: #00F;
}

.article #code{
  background-color: #000;
  color: #0F0;
  border:2px solid #0F0;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
  font-size: 14px;
  font-family: &quot;Courier New&quot;,&quot;Lucinda Console&quot;, monospace;
}

.article #red{
  background-color: #F00;
  color: #FFF;
  text-align: center;
  padding:10px 40px; 
  border-radius:25px;
  -moz-border-radius:25px; /* Old Firefox */
}
&lt;/style&gt;
&lt;div class=&quot;article&quot;&gt;
&lt;p&gt;To create a link &quot;Back&quot; that allow come back to previous page before current, I use a variable called &lt;span id=&quot;php&quot;&gt;$_SERVER[&#39;HTTP_REFERER&#39;]&lt;/span&gt;. Hereafter, you will see a example:&lt;/p&gt;
&lt;pre id=&quot;code&quot;&gt;
...
&amp;lt;body&amp;gt;
  ...
  &amp;lt;a href=&amp;quot;&amp;lt;?php echo $_SERVER[&#39;HTTP_REFERER&#39;]?&amp;gt;&amp;quot;&amp;gt;Back&amp;lt;/a&amp;gt;
  ...
&amp;lt;/body&amp;gt;
...
&lt;/pre&gt;
&lt;p id=&quot;red&quot;&gt;Be careful when you refresh the page!&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/8085370270751375093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/01/how-to-return-page-before-current.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8085370270751375093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8085370270751375093'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2013/01/how-to-return-page-before-current.html' title='How to return a page before current'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-1051391367830745028</id><published>2012-12-31T11:01:00.000+00:00</published><updated>2012-12-31T11:01:00.328+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Happy New Year"/><title type='text'>Happy New Year</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhsurKPagrw6_dYwqjgR8mVys1oubgLqnICKkxPmvVKgqUlISKldYPZ4LYJRmIT1zWZv20juv-OI8R3ZI8_AkIX83mU6IVoI71eIZ_Beln-V9b9HuxIl3rB-pAqA0iH9PvvqGO9q0lIM/s1600/New-Year-Party-icon.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; width=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhsurKPagrw6_dYwqjgR8mVys1oubgLqnICKkxPmvVKgqUlISKldYPZ4LYJRmIT1zWZv20juv-OI8R3ZI8_AkIX83mU6IVoI71eIZ_Beln-V9b9HuxIl3rB-pAqA0iH9PvvqGO9q0lIM/s400/New-Year-Party-icon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/1051391367830745028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/12/happy-new-year.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/1051391367830745028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/1051391367830745028'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/12/happy-new-year.html' title='Happy New Year'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhsurKPagrw6_dYwqjgR8mVys1oubgLqnICKkxPmvVKgqUlISKldYPZ4LYJRmIT1zWZv20juv-OI8R3ZI8_AkIX83mU6IVoI71eIZ_Beln-V9b9HuxIl3rB-pAqA0iH9PvvqGO9q0lIM/s72-c/New-Year-Party-icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-9214489157632077667</id><published>2012-12-24T11:00:00.000+00:00</published><updated>2012-12-24T11:00:04.850+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Merry Christmas"/><title type='text'>Merry Christmas</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZYFn740Xmy-bFlVPAxx3AWYeO2KzsHcSrr5QMcZSIKsPKhWM3P8XrSwSqQRRr9cOlze6UKGJ76bb5qkGmrY1q_vjNHEqKJFe2bMJR8_o3n5XBVovNFHNUVcAKm66uHtb3b-S2gjZR0Ag/s1600/christmas-tree-icon.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;128&quot; width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZYFn740Xmy-bFlVPAxx3AWYeO2KzsHcSrr5QMcZSIKsPKhWM3P8XrSwSqQRRr9cOlze6UKGJ76bb5qkGmrY1q_vjNHEqKJFe2bMJR8_o3n5XBVovNFHNUVcAKm66uHtb3b-S2gjZR0Ag/s400/christmas-tree-icon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/9214489157632077667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/12/merry-christmas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/9214489157632077667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/9214489157632077667'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/12/merry-christmas.html' title='Merry Christmas'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZYFn740Xmy-bFlVPAxx3AWYeO2KzsHcSrr5QMcZSIKsPKhWM3P8XrSwSqQRRr9cOlze6UKGJ76bb5qkGmrY1q_vjNHEqKJFe2bMJR8_o3n5XBVovNFHNUVcAKm66uHtb3b-S2gjZR0Ag/s72-c/christmas-tree-icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-8548886325348657099</id><published>2012-11-07T11:43:00.000+00:00</published><updated>2012-12-08T12:42:14.696+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="How to"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>How to check Ubuntu version using command line</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
p{
 text-align:justify;
 font-size: 14px;
}

#code{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #DDD;
 padding: 5px 5px;
 color: #000;
 width: 90%;
}

#note{
 background: #FFF;
 color: #F00;
}

#steps{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #000;
 padding: 5px 5px;
 color: #0F0;
}

table{
 border: 1px solid black;
}

table th{
 background-color: orange;
}

#paint{
background-color: #CAE1FF;
}

#green{
 color:#0F0;
}
&lt;/style&gt;
&lt;p&gt;
I wanted to see what was my Ubuntu version using command line. After I found this &lt;a href=&quot;https://help.ubuntu.com/community/CheckingYourUbuntuVersion&quot;&gt;website&lt;/a&gt;, I could to see my Ubuntu version.
&lt;/p&gt;
&lt;div id=&quot;steps&quot;&gt;
To check your Ubuntu version using command line:
&lt;ol&gt;
&lt;li id=&quot;green&quot;&gt;Open terminal (CTRL+ALT+T)&lt;/li&gt;
&lt;li id=&quot;green&quot;&gt;Type lsb_release -a and press Enter&lt;/li&gt;
&lt;li id=&quot;green&quot;&gt;The Ubuntu version will displayed on the screen&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p id=&quot;note&quot;&gt;At the time, my Ubuntu version is Ubuntu 11.10 (oneiric).&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/8548886325348657099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/11/how-to-check-ubuntu-version-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8548886325348657099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/8548886325348657099'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/11/how-to-check-ubuntu-version-using.html' title='How to check Ubuntu version using command line'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-110912797296941674</id><published>2012-11-05T15:25:00.000+00:00</published><updated>2012-11-05T15:34:06.451+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenSUSE"/><category scheme="http://www.blogger.com/atom/ns#" term="Sunset Software OS"/><title type='text'>Sunset Software OS</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
.sunsetsoftwareos p{
 text-align:justify;
 text-indent: 50px;
 font-style: Arial, Helvetica, sans-serif;
 font-size: 14px;
}

.sunsetsoftwareos #note{
 color: #FFF;
 background-color: #F00;
 font-style: Arial, Helvetica, sans-serif;
 font-size: 14px;
 text-align: center;
}

.sunsetsoftwareos #highlight{
 font-style: &quot;Lucida Console&quot;, Monaco, monospace;
 font-size: 18px;
}

.sunsetsoftwareos #highlight0{
 font-style: &quot;Lucida Console&quot;, Monaco, monospace;
 font-size: 15px;
 text-decoration: underline;
}

.sunsetsoftwareos h1{
 color: #6495ED;
 text-align: center;
}

.sunsetsoftwareos a:link {color:#FF7F50;}    /* unvisited link */
.sunsetsoftwareos a:visited {color:#DC143C;} /* visited link */
.sunsetsoftwareos a:hover {color:#006400;}   /* mouse over link */
.sunsetsoftwareos a:active {color:#FF7F24;}  /* selected link */
&lt;/style&gt;
&lt;div class=&quot;sunsetsoftwareos&quot;&gt;
&lt;p&gt;After of making videos related with Linux, I decided that it is time to create a distro Linux which contains some software used on videos. I found a amazing &lt;a href=&quot;http://susestudio.com/&quot; target=&quot;_blank&quot;&gt;site&lt;/a&gt; that allows to create own distro Linux.&lt;/p&gt; &lt;div id=&quot;note&quot;&gt;I will not make tutorial how to create own distro!&lt;/div&gt;
&lt;p&gt;The distro Linux created with help from SUSE Studio calls &lt;span id=&quot;highlight&quot;&gt;Sunset Software OS&lt;/span&gt;. This OS is destined for &lt;span id=&quot;highlight0&quot;&gt;developer software&lt;/span&gt;, &lt;span id=&quot;highlight0&quot;&gt;web developer software&lt;/span&gt; and &lt;span id=&quot;highlight0&quot;&gt;systems administator&lt;/span&gt;. You can download a image ISO right &lt;a href=&quot;http://susestudio.com/a/JOnYdg/sunset-software-os&quot; target=&quot;_blank&quot;&gt;here!&lt;/a&gt; Language and Keyboard Layout will be ask at first boot. 
&lt;ol&gt;There is two users:
&lt;li&gt;root (password: linux)&lt;/li&gt;
&lt;li&gt;user (password: peter)&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;h1&gt;Enjoy!&lt;/h1&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/110912797296941674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/11/sunset-software-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/110912797296941674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/110912797296941674'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/11/sunset-software-os.html' title='Sunset Software OS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-5388827862098735803</id><published>2012-10-31T10:58:00.000+00:00</published><updated>2012-10-31T10:58:00.250+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Happy Halloween"/><title type='text'>Happy Halloween</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZ2fyyAeQ6MPSH9diYRJtFq_ai9wfdbi9Y_4g2FJLIMNzix7JdXkFaiVmBnM1T8Xp02RBmPXnQIfsShgfmxQZTpQV1TlPlz1AotG0qS03jZdunXS7Hg7f5-A0LMBkN-oIxlDUtRIDc4Y/s1600/Laugh-icon.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; width=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZ2fyyAeQ6MPSH9diYRJtFq_ai9wfdbi9Y_4g2FJLIMNzix7JdXkFaiVmBnM1T8Xp02RBmPXnQIfsShgfmxQZTpQV1TlPlz1AotG0qS03jZdunXS7Hg7f5-A0LMBkN-oIxlDUtRIDc4Y/s400/Laugh-icon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/5388827862098735803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/10/happy-halloween.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5388827862098735803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/5388827862098735803'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/10/happy-halloween.html' title='Happy Halloween'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZ2fyyAeQ6MPSH9diYRJtFq_ai9wfdbi9Y_4g2FJLIMNzix7JdXkFaiVmBnM1T8Xp02RBmPXnQIfsShgfmxQZTpQV1TlPlz1AotG0qS03jZdunXS7Hg7f5-A0LMBkN-oIxlDUtRIDc4Y/s72-c/Laugh-icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-4584774373971885643</id><published>2012-10-17T12:12:00.000+01:00</published><updated>2012-12-08T12:43:34.658+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="How to"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>How to change timezone on Apache Webserver</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
p{
 text-align:justify;
 font-size: 14px;
}

#code{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #DDD;
 padding: 5px 5px;
 color: #000;
 width: 90%;
}

#note{
 background: #FFF;
 color: #F00;
}

#steps{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #000;
 padding: 5px 5px;
 color: #0F0;
}

table{
 border: 1px solid black;
}

table th{
 background-color: orange;
}

#paint{
background-color: #CAE1FF;
}

#green{
 color:#0F0;
}
&lt;/style&gt;
&lt;p&gt;
My Apache Webserver had not timezone correct. If I wanted timezone correct, I had to do some configuration on Apache Webserver. But how to do this?
&lt;/p&gt;
&lt;div id=&quot;steps&quot;&gt;To change timezone on my Apache Webserver, I followed the next steps:
&lt;ol id=&quot;green&quot;&gt;
&lt;li&gt;Type sudo nano /etc/php5/apache2/php.ini;&lt;/li&gt;
&lt;li&gt;Search for &quot;date.timezone&quot; and modify to &quot;date.timezone=&quot;Europe/London&quot; or to your timezone;&lt;/li&gt;
&lt;li&gt;Save the file and exit using CTRL+X;&lt;/li&gt;
&lt;li&gt;Type sudo /etc/init.d/apache2 restart&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;To see what is your timezone, check this &lt;a href=&quot;www.php.net/manual/en/timezones.php&quot;&gt;website&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p id=&quot;note&quot;&gt;At the moment, my operating system was Ubuntu 11.10 and Apache Webserver was 2.2.20!&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/zI1kpNd3On8&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/4584774373971885643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/10/how-to-change-timezone-on-apache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/4584774373971885643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/4584774373971885643'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/10/how-to-change-timezone-on-apache.html' title='How to change timezone on Apache Webserver'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/zI1kpNd3On8/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-3387103713982006758</id><published>2012-09-25T14:12:00.000+01:00</published><updated>2012-10-03T20:49:31.447+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Time"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>MySQL Tutorial - How to calculate time correctly </title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
p{
 text-align:justify;
 font-size: 14px;
}

#code{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #DDD;
 padding: 5px 5px;
 color: #000;
 width: 90%;
}

#sql{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #DDD;
 padding: 5px 5px;
 color: #000;
 width: 100%;
}

#note{
 background: #FFF;
 color: #F00;
}

#steps{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #000;
 padding: 5px 5px;
 color: #0F0;
}

table{
 border: 1px solid black;
}

table th{
 background-color: orange;
}

ol{
color: blue;
}

#paint{
background-color: #CAE1FF;
}
&lt;/style&gt;
&lt;p&gt;A database server has a database called &quot;Cinema&quot; which has a table called &quot;Movies&quot;. This table has next fields:
&lt;ul&gt;
&lt;li&gt;ID&lt;/li&gt;
&lt;li&gt;Name&lt;/li&gt;
&lt;li&gt;Duration&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p&gt;Hereafter, you can see table &#39;movies&#39;:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;movies_id&lt;/th&gt;
&lt;th&gt;movies_name&lt;/th&gt;
&lt;th&gt;movies_duration&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Movie I&lt;/td&gt;
&lt;td&gt;02:23:34&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;paint&quot;&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td &gt;Movie II&lt;/td&gt;
&lt;td&gt;01:44:56&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Movie III&lt;/td&gt;
&lt;td&gt;02:56:34&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
 &lt;/p&gt;
&lt;p&gt;To calculate duration of all movies, we could write: &lt;p id=&quot;sql&quot;&gt;SELECT sum(movies_duration) FROM movies;&lt;/p&gt;
&lt;span id=&quot;note&quot;&gt;But it is wrong!&lt;/span&gt;
&lt;p&gt;Result:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;sum(movies_duration)&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;62424&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;
To fix this problem, it is necessary convert time to seconds with next SQL statement:
&lt;p id=&quot;sql&quot;&gt;SELECT time_to_sec(movies_duration) FROM movies;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Result:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;time_to_sec(movies_duration)&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8614&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td id=&quot;paint&quot;&gt;6296&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10594&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;And next, use function SUM() to calculate duration of all movies
&lt;p id=&quot;sql&quot;&gt;SELECT sum(time_to_sec(movies_duration)) FROM movies;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Result:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;sum(time_to_sec(movies_duration))&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25504&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Finally, convert the sum (in seconds) to time using the next statement:
&lt;p id=&quot;sql&quot;&gt;SELECT sec_to_time(sum(time_to_sec(movies_duration))) FROM movies;&lt;/p&gt;
&lt;p&gt;Result:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;sec_to_time(sum(time_to_sec(movies_duration)))&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;07:05:04&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Thus you can calculate time correctly using three MySQL functions:
&lt;ol&gt;
&lt;li&gt;TIME_TO_SEC(...)&lt;/li&gt;
&lt;li&gt;SUM(...)&lt;/li&gt;
&lt;li&gt;SEC_TO_TIME(...)&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/3387103713982006758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/09/mysql-tutorial-how-to-calculate-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/3387103713982006758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/3387103713982006758'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/09/mysql-tutorial-how-to-calculate-time.html' title='MySQL Tutorial - How to calculate time correctly '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-7150402606161049302</id><published>2012-09-01T15:40:00.000+01:00</published><updated>2012-09-01T15:40:00.301+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="print"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>JavaScript Tutorial - How to print a Web Page</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
p{
 text-align:justify;
 font-size: 14px;
}

#code{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #DDD;
 padding: 5px 5px;
 color: #000;
 width: 50%;
}

#note{
 background: #FFF;
 color: #F00;
}

#steps{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #000;
 padding: 5px 5px;
 color: #0F0;
}
&lt;/style&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikMS8Z3ivPBwQcWjKTOthVNe0Gsg0gBr-Fvg95WLlI3t_2mpGs4e5NWUJNaEnj3slZdSYhM4PlxVigPoKIOBtzcEz2soZ8Y-mFQ4ZaInJtI8mp2j6Zr0ZOlCeElreqg7ruxrPk_N884hU/s1600/Printer-icon.png&quot; imageanchor=&quot;1&quot; style=&quot;clear:right; float:right; margin-left:1em; margin-bottom:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; width=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikMS8Z3ivPBwQcWjKTOthVNe0Gsg0gBr-Fvg95WLlI3t_2mpGs4e5NWUJNaEnj3slZdSYhM4PlxVigPoKIOBtzcEz2soZ8Y-mFQ4ZaInJtI8mp2j6Zr0ZOlCeElreqg7ruxrPk_N884hU/s320/Printer-icon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;


&lt;p&gt;I was working on my project called &quot;Project Manager&quot;. And I was needing to create a link to print a web page.
After I was researching on Web, I found a small code written in JavaScript.&lt;/p&gt;
&lt;div id=&quot;code&quot;&gt;
&amp;lt;a href=&quot;javascript.window.print()&quot;&amp;gt;Print&amp;lt/a&amp;gt;
&lt;/div&gt;
&lt;p&gt;Clicking on link, it will show up a box dialog of printer.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/7150402606161049302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/09/javascript-tutorial-how-to-print-web.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/7150402606161049302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/7150402606161049302'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/09/javascript-tutorial-how-to-print-web.html' title='JavaScript Tutorial - How to print a Web Page'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikMS8Z3ivPBwQcWjKTOthVNe0Gsg0gBr-Fvg95WLlI3t_2mpGs4e5NWUJNaEnj3slZdSYhM4PlxVigPoKIOBtzcEz2soZ8Y-mFQ4ZaInJtI8mp2j6Zr0ZOlCeElreqg7ruxrPk_N884hU/s72-c/Printer-icon.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-7362429745210030405</id><published>2012-08-21T12:10:00.000+01:00</published><updated>2012-08-23T17:38:08.820+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="PL/SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>Oracle PL/SQL</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRok8L9uC_LLLWAXwG6_Lx7W30MO1JEpWZQE6Q0qaENuRx_jidMcT5wvkRzMsPZ_9i-UR9FB_6GRuay5UjmCh6NVr8hzBwzPKW_ewO9X1XaJKFDgld6yocdLVHzd4PkpW_lK5AcDZaE14/s1600/data-management-icon.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRok8L9uC_LLLWAXwG6_Lx7W30MO1JEpWZQE6Q0qaENuRx_jidMcT5wvkRzMsPZ_9i-UR9FB_6GRuay5UjmCh6NVr8hzBwzPKW_ewO9X1XaJKFDgld6yocdLVHzd4PkpW_lK5AcDZaE14/s1600/data-management-icon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;For professional reasons, I was forced to study Oracle PL / SQL.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;PL/SQL is an imperative 3GL that was specifically designed for the seamless processing of SQL commands. It provides specific syntax for this purpose and supports exactly the same datatypes as SQL. Server-side PL/SQL is compiled and stored in Oracle Database and Oracle runs within the executable. It automatically inherits the robustness, security, and portability of Oracle Database.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;To study Oracle PL / SQL, I found a great &lt;a href=&quot;http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;website&lt;/a&gt; and I highly recommend.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/7362429745210030405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/08/oracle-plsql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/7362429745210030405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/7362429745210030405'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/08/oracle-plsql.html' title='Oracle PL/SQL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRok8L9uC_LLLWAXwG6_Lx7W30MO1JEpWZQE6Q0qaENuRx_jidMcT5wvkRzMsPZ_9i-UR9FB_6GRuay5UjmCh6NVr8hzBwzPKW_ewO9X1XaJKFDgld6yocdLVHzd4PkpW_lK5AcDZaE14/s72-c/data-management-icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-482145767206583584.post-931963013153156234</id><published>2012-08-08T19:45:00.000+01:00</published><updated>2012-10-03T20:44:14.548+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="how to install"/><category scheme="http://www.blogger.com/atom/ns#" term="Samba"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>How to install Samba</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
p{
 text-align:justify;
 font-size: 14px;
}

#code{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 background: #DDD;
 padding: 5px 5px;
 color: #000;
 width: 50%;
}

#note{
 background: #FFF;
 color: #F00;
}

#steps{
 border: 2px solid;
 border-radius: 10px;
 -moz-border-radius:25px;
 padding-top:5px;
 padding-bottom: 5px;
 background: #000;
 color: #0F0;
}
&lt;/style&gt;
&lt;p&gt;
Since 1992, Samba is an open-source software that your main goal is to remove the barriers of interoperability between different operating systems. 
&lt;/p&gt;
&lt;p&gt;
I need Samba to move files from Windows to Ubuntu and vice-versa for work&#39;s issues. Hereafter, you can see the steps how to install Samba:
&lt;ol&gt;
 &lt;li&gt;sudo apt-get install samba samba-tools&lt;/li&gt;
 &lt;li&gt;sudo smbpasswd -a &lt;i&gt;yourusername&lt;/i&gt;
 &lt;ul&gt;
  &lt;li&gt;Type your password&lt;/li&gt;
  &lt;li&gt;Retype your password&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;mkdir /srv/samba/share&lt;/li&gt;
 &lt;li&gt;sudo nano /etc/samba/smb.conf&lt;/li&gt;
 &lt;li&gt;Press Ctrl+W
  &lt;ul&gt;
   &lt;li&gt;Search for: &lt;i&gt;#security=user&lt;/i&gt;&lt;/li&gt;
   &lt;li&gt;remove &#39;#&#39; (from &quot;#security=user&quot; to &quot;security=user&quot;)&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;On bottom of file write the next statements:&lt;/li&gt;
&lt;div id=&quot;code&quot;&gt;
&lt;pre&gt;
[share]
path = /srv/samba/share
comment = some random files
available = yes
valid users = &lt;i&gt;yourusername&lt;/i&gt;
read only = no
&lt;/pre&gt;
&lt;/div&gt;
&lt;li&gt;sudo restart smbd&lt;/li&gt;
&lt;li&gt;testparm /etc/samba/smb.conf&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;div id=&quot;note&quot;&gt;
Note:
After you typed the last command and got errors message, you have to fix it. But I am 100% sure, it will not show up a error message unless you mistyped some statements.
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sunsetsoftware.blogspot.com/feeds/931963013153156234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/08/how-to-install-samba.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/931963013153156234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/482145767206583584/posts/default/931963013153156234'/><link rel='alternate' type='text/html' href='http://sunsetsoftware.blogspot.com/2012/08/how-to-install-samba.html' title='How to install Samba'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>