<?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-8000057801945638271</id><updated>2024-10-24T11:48:26.282-06:00</updated><category term="fedora 21"/><category term="git"/><category term="__git_ps1"/><category term="bash"/><category term="config"/><category term="linux"/><category term="prompt"/><category term="Abstract Class"/><category term="AbstractMethodError"/><category term="DocumentBuilderFactory"/><category term="Interface"/><category term="Java"/><category term="SAXParserFactory"/><category term="SchemaFactory"/><category term="TransformerFactory"/><category term="XPathFactory"/><category term="atom"/><category term="clipboard"/><category term="devm.org"/><category term="dvc"/><category term="fc20 wiki wikimedia SELinux 403 rpm yum fc21 httpd php"/><category term="fedora"/><category term="git gitignore"/><category term="git history"/><category term="git introduction"/><category term="git tutorial"/><category term="guest additions"/><category term="javascript variables"/><category term="jaxp"/><category term="jaxp.properties"/><category term="mount"/><category term="newInstance"/><category term="notepad++"/><category term="scm"/><category term="shared folder"/><category term="static Methods"/><category term="sublime"/><category term="vcs"/><category term="virtualbox"/><category term="windows"/><title type='text'>Developer Blogging</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8000057801945638271.post-3047239068032159091</id><published>2014-12-15T17:17:00.000-06:00</published><updated>2014-12-15T17:26:02.457-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="__git_ps1"/><category scheme="http://www.blogger.com/atom/ns#" term="atom"/><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="config"/><category scheme="http://www.blogger.com/atom/ns#" term="fedora 21"/><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="notepad++"/><category scheme="http://www.blogger.com/atom/ns#" term="prompt"/><category scheme="http://www.blogger.com/atom/ns#" term="sublime"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Git Series: Installing Git on Windows</title><content type='html'>You have a “next, next, ok” installer, just be aware of:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD0UuxBA-fRUWyCOSYXgXg2vkjDOmI4e5RYmkuqeqastk6PbJkjuZjoTX6gRew9EIY15z2Y65K0gmz8DVtNLREFWukIlah9i3vA7j30orLEcRGe1l7NSPFk7RY6nqArJw4tE_BNzX6EeE/s1600/git+setup1.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/AVvXsEgD0UuxBA-fRUWyCOSYXgXg2vkjDOmI4e5RYmkuqeqastk6PbJkjuZjoTX6gRew9EIY15z2Y65K0gmz8DVtNLREFWukIlah9i3vA7j30orLEcRGe1l7NSPFk7RY6nqArJw4tE_BNzX6EeE/s1600/git+setup1.png&quot; height=&quot;261&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;I haven’t found any problem selecting “Use Git and optional Unix tools from the Windows Command Prompt” but the safest option is “Use Git from Git Bash”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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/AVvXsEi7Rxa60DX_BmXjezZMKfmNxcBVdFc6OF058wQbmxXkUcRH5W1wo6vT2em6ykTW0K5Tt8F5O-BwkSpH2pdK7nQidcMetZWjZlLHxPNA48Nd2R4bgY4nxXokMJ5KYWaDMFBt3ToMphTNcok/s1600/git+setup2.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/AVvXsEi7Rxa60DX_BmXjezZMKfmNxcBVdFc6OF058wQbmxXkUcRH5W1wo6vT2em6ykTW0K5Tt8F5O-BwkSpH2pdK7nQidcMetZWjZlLHxPNA48Nd2R4bgY4nxXokMJ5KYWaDMFBt3ToMphTNcok/s1600/git+setup2.png&quot; height=&quot;260&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8000057801945638271&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;In UNIX systems the end of a line is represented with a line feed (LF). In windows a line is represented with a carriage return (CR) and a line feed (LF) thus (CRLF). Most of the open source projects use UNIX environments so go along with the first option. Select “Checkout as-is, commit as-is” if EVERYONE in your team is going to work in a Windows Environment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two ways to configure git:&lt;br /&gt;
&lt;b&gt;Modifying files:&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;C:\Program Files (x86)\Git\etc\.gitconfig&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # System level&lt;br /&gt;
$HOME\.gitconfig&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # User level&lt;br /&gt;
repository\.git\config&amp;nbsp;&amp;nbsp;&amp;nbsp; # Repository level&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Using commands&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;git config --system&amp;nbsp;&amp;nbsp; # System level&lt;br /&gt;
git config --global&amp;nbsp;&amp;nbsp;&amp;nbsp; # User level&lt;br /&gt;
git config&amp;nbsp;&amp;nbsp; # Repository level&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Minimal&lt;/h3&gt;
&lt;code&gt;git config --global user.name “Xavier Figueroa”&lt;br /&gt;
git config -- global user.email “example@devm.com”&lt;br /&gt;
git config --list&lt;br /&gt;
user.name=Xavier Figueroa&lt;br /&gt;
user.email=example@devm.com&lt;br /&gt;
git config user.name&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Given that you already have the git bash installed, you can use linux commands&lt;br /&gt;
.gitconfig is hidden, so in order to see the file you need to use ls –a&lt;br /&gt;
&lt;code&gt;xavi ~ $ ls -a&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
To see the content you can use&lt;br /&gt;
&lt;code&gt;xavi ~ $ cat .gitconfig&lt;br /&gt;
xavi ~ $ tail .gitconfig&lt;br /&gt;
xavi ~ $ vim .gitconfig&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Set Default Text Editor&lt;/h3&gt;
Install your favorite editor (&lt;a href=&quot;http://www.sublimetext.com/3&quot;&gt;Sublime&lt;/a&gt;, &lt;a href=&quot;http://notepad-plus-plus.org/download&quot;&gt;notepad++&lt;/a&gt;, &lt;a href=&quot;https://atom.io/&quot;&gt;atom&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;git config --global core.editor &quot;&#39;c:/program files/sublime text 3/subl.exe&#39; -w&quot;&lt;/code&gt;&lt;br /&gt;
or &lt;br /&gt;
&lt;code&gt;git config --global core.editor &quot;atom --wait&quot;&lt;/code&gt;&lt;br /&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/AVvXsEh1r6ggycEW79_gBuIBSArW8_EM__PR7MufqcoTUweTuudK1rHLrX1sk2YFVb9P7-dbajb3q6hdY5VvohyphenhyphenLE25-2ZDZqL9dkD38a9kRsdBxjykIKhxkKF_uqJ-mv1dyo3ZRuqUlqWCH4vg/s1600/gitconfig.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1r6ggycEW79_gBuIBSArW8_EM__PR7MufqcoTUweTuudK1rHLrX1sk2YFVb9P7-dbajb3q6hdY5VvohyphenhyphenLE25-2ZDZqL9dkD38a9kRsdBxjykIKhxkKF_uqJ-mv1dyo3ZRuqUlqWCH4vg/s1600/gitconfig.png&quot; height=&quot;153&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
If you have problems you can try editing the .gitconfig file and use:&lt;br /&gt;
&lt;code&gt;editor = &#39;C:\\Program Files\\Sublime Text 3\\subl.exe&#39; -w &lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also set the GIT_EDITOR, VISUAL, or EDITOR environment variables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Auto-Completion&lt;/h3&gt;
In windows is provided by default, but if it is not working you can try:&lt;br /&gt;
Edit/create $HOME\.bashrc or &lt;b&gt;$HOME\.bash_profile&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;if [ -f &#39;C:\Program Files (x86)\Git\etc\git-completion.bash&#39; ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; source &#39;C:\Program Files (x86)\Git\etc\git-completion.bash&#39;&lt;br /&gt;
fi&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Improve the bash&lt;/h3&gt;
Edit/create $HOME\.bashrc or &lt;b&gt;$HOME\.bash_profile&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;if [ -f &#39;C:\Program Files (x86)\Git\etc\git-prompt.sh&#39; ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source &#39;C:\Program Files (x86)\Git\etc\git-prompt.sh&#39;&lt;br /&gt;
fi&lt;br /&gt;
green=&quot;\[\033[0;32m\]&quot;&lt;br /&gt;
cyan=&quot;\[\033[1;36m\]&quot;&lt;br /&gt;
purple=&quot;\[\033[1;35m\]&quot;&lt;br /&gt;
reset=&quot;\[\033[0m\]&quot;&lt;br /&gt;
export GIT_PS1_SHOWDIRTYSTATE=true&lt;br /&gt;
export GIT_PS1_SHOWUNTRACKEDFILES=true&lt;br /&gt;
export PS1=&quot;$purple\u$green\$(declare -F __git_ps1 &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; __git_ps1 &#39; (%s)&#39;)$cyan \W $ $reset&quot;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Getting help&lt;/h3&gt;
Pressing &lt;i&gt;space&lt;/i&gt; or &lt;i&gt;f &lt;/i&gt;will move you forwards or&amp;nbsp; pressing &lt;i&gt;b &lt;/i&gt;will move you backwards as well&lt;br /&gt;
Pressing &lt;i&gt;q&lt;/i&gt; stands for Quit will take you&lt;i&gt; back&lt;/i&gt; to the command line&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;a href=&quot;http://blog.devm.org/?p=70&quot;&gt;http://blog.devm.org&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://git-scm.com/downloads&quot;&gt;http://git-scm.com/downloads&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://help.github.com/articles/set-up-git/&quot;&gt;https://help.github.com/articles/set-up-git/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration&quot;&gt;http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://help.github.com/articles/associating-text-editors-with-git/&quot;&gt;https://help.github.com/articles/associating-text-editors-with-git/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html&quot;&gt;http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/3047239068032159091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2014/12/git-series-installing-git-on-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/3047239068032159091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/3047239068032159091'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2014/12/git-series-installing-git-on-windows.html' title='Git Series: Installing Git on Windows'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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/AVvXsEgD0UuxBA-fRUWyCOSYXgXg2vkjDOmI4e5RYmkuqeqastk6PbJkjuZjoTX6gRew9EIY15z2Y65K0gmz8DVtNLREFWukIlah9i3vA7j30orLEcRGe1l7NSPFk7RY6nqArJw4tE_BNzX6EeE/s72-c/git+setup1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8000057801945638271.post-2586427516292256246</id><published>2014-12-15T02:02:00.000-06:00</published><updated>2014-12-15T16:36:42.801-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="__git_ps1"/><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="config"/><category scheme="http://www.blogger.com/atom/ns#" term="fedora 21"/><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="prompt"/><title type='text'>Git Series: Installing Git on Linux</title><content type='html'>&lt;h4&gt;
&lt;a href=&quot;http://blog.devm.org/?p=64&quot;&gt;See the 3:45 min video here &lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://blog.devm.org/?p=64&quot;&gt;&lt;img alt=&quot;http://blog.devm.org/?p=64&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjefU02brDABXTrszeT4IABJ8gmON1x1ozhvvVOYCGzWAFAXZikfH-eB7ovLagParG086ThKwp94q7PX7seWzIKfNAyDT-QmQZvdEaf15uKpZmqJ5ZxO6amYWTZUWc1gGFzv-DLhzkW4X0/s1600/terminal.png&quot; height=&quot;226&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
If you are using Fedora 21 Workstation like me jump to step 5 ;)
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;b&gt;1 Installation&lt;/b&gt;&lt;/h3&gt;
If you’re on Fedora-based, you can use yum:&lt;br /&gt;
&lt;code&gt;$ yum install git&lt;/code&gt;&lt;br /&gt;
If you’re on a Debian-based distribution like Ubuntu, try apt-get:&lt;br /&gt;
&lt;code&gt;$ apt-get install git&lt;/code&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Configuration&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
There are two ways:&lt;br /&gt;
&lt;br /&gt;
Modifying files&lt;br /&gt;
&lt;code&gt;/etc/.gitconfig&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;# System level&lt;br /&gt; ~/.gitconfig &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; # User level&lt;br /&gt; Repository/.git/.gitconfig &amp;nbsp;&amp;nbsp;# Repository level&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Using commands&lt;/i&gt;&lt;br /&gt;
&lt;code&gt;git config --system # System level&lt;br /&gt; git config –global&amp;nbsp;&amp;nbsp; &amp;nbsp;# User level&lt;br /&gt; git config&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;# Repository level&lt;/code&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;b&gt;2 Minimal&lt;/b&gt;&lt;/h3&gt;
&lt;code&gt;git config --global user.name “Xavier Figueroa”&lt;br /&gt; git config -- global user.email “example@devm.com”&lt;br /&gt; git config --list&lt;br /&gt; user.name=Xavier Figueroa&lt;br /&gt; user.email=example@devm.com&lt;br /&gt; git config user.name&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
.gitconfig is hidden, so in order to see the file you need to use ls –a&lt;br /&gt;
&lt;code&gt;xavi ~ $ ls -a&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
To see the content you can use&lt;br /&gt;
&lt;code&gt;xavi ~ $ cat .gitconfig&lt;br /&gt; xavi ~ $ tail .gitconfig&lt;br /&gt; xavi ~ $ vim .gitconfig&lt;/code&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;b&gt;3 Set Default Text Editor&lt;/b&gt;&lt;/h3&gt;
&lt;code&gt;git config --global core.editor &quot;vim -w&quot;&lt;/code&gt;&lt;br /&gt;
or set the GIT_EDITOR, VISUAL, or EDITOR environment variables.&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;b&gt;4 Auto-Completion&lt;/b&gt;&lt;/h3&gt;
&lt;code&gt;curl -OL https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash&lt;br /&gt; curl -OL https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Rename file&lt;br /&gt;
&lt;code&gt;mv ~/git-completion.bash ~/.git-completion.bash&lt;br /&gt; mv ~/ git-prompt.sh ~/ .git-prompt.sh&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Edit ~/.bashrc&lt;br /&gt;
&lt;code&gt;if [ -f ~/.git-completion.bash ]; then&lt;br /&gt; source ~/.git-completion.bash&lt;br /&gt; fi&lt;br /&gt; if [ -f ~/.git-prompt.sh ]; then&lt;br /&gt; source ~/.git-prompt.sh&lt;br /&gt; fi&lt;/code&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;b&gt;5 Improve the bash&lt;/b&gt;&lt;/h3&gt;
Add the following ~/.bashrc&lt;br /&gt;
&lt;code&gt;&lt;br /&gt; if [ -f /usr/share/git-core/contrib/completion/git-prompt.sh ]; then&lt;br /&gt; source /usr/share/git-core/contrib/completion/git-prompt.sh&lt;br /&gt; fi&lt;br /&gt; green=&quot;\[\033[0;32m\]&quot;&lt;br /&gt; cyan=&quot;\[\033[1;36m\]&quot;&lt;br /&gt; purple=&quot;\[\033[1;35m\]&quot;&lt;br /&gt; reset=&quot;\[\033[0m\]&quot;&lt;br /&gt; export GIT_PS1_SHOWDIRTYSTATE=true&lt;br /&gt; export GIT_PS1_SHOWUNTRACKEDFILES=true&lt;br /&gt; export PS1=&quot;$purple\u$green\$(declare -F __git_ps1 &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; __git_ps1 &#39; (%s)&#39;)$cyan \W $ $reset&quot;&lt;br /&gt; &lt;/code&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;b&gt;6 Getting help&lt;/b&gt;&lt;/h3&gt;
git help to see the list of commands&lt;br /&gt;
git help &amp;lt;specific command&amp;gt; to see how to use the command&lt;br /&gt;
Pressing space or f will move you forwards or b pressing b will move you backwards as well&lt;br /&gt;
Pressing q stands for Quit will take you back to the command line&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.devm.org/?p=64&quot;&gt;blog.devm.org&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration&quot;&gt;http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://help.github.com/articles/associating-text-editors-with-git/&quot;&gt;https://help.github.com/articles/associating-text-editors-with-git/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.sublimetext.com/3&quot;&gt;http://www.sublimetext.com/3&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/2586427516292256246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2014/12/git-series-installing-git-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/2586427516292256246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/2586427516292256246'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2014/12/git-series-installing-git-on-linux.html' title='Git Series: Installing Git on Linux'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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/AVvXsEjefU02brDABXTrszeT4IABJ8gmON1x1ozhvvVOYCGzWAFAXZikfH-eB7ovLagParG086ThKwp94q7PX7seWzIKfNAyDT-QmQZvdEaf15uKpZmqJ5ZxO6amYWTZUWc1gGFzv-DLhzkW4X0/s72-c/terminal.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8000057801945638271.post-1955986332046064689</id><published>2014-12-13T12:47:00.000-06:00</published><updated>2014-12-13T12:47:05.532-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="clipboard"/><category scheme="http://www.blogger.com/atom/ns#" term="devm.org"/><category scheme="http://www.blogger.com/atom/ns#" term="fedora"/><category scheme="http://www.blogger.com/atom/ns#" term="fedora 21"/><category scheme="http://www.blogger.com/atom/ns#" term="guest additions"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mount"/><category scheme="http://www.blogger.com/atom/ns#" term="shared folder"/><category scheme="http://www.blogger.com/atom/ns#" term="virtualbox"/><title type='text'>Fedora 21 Guest in Windows Host using VirtualBox</title><content type='html'>I created a gallery to show you how to start working with Fedora using Virtual Box&lt;br /&gt;
In my VM I  have:&lt;br /&gt;
2GB RAM&lt;br /&gt;
2 Processors&lt;br /&gt;
64MB In video Memory with 3D Acceleration Enabled&lt;br /&gt;
Virtual Disk with 20GB dynamically allocated.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: orange;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://blog.devm.org/?p=28&quot;&gt;See the gallery here&lt;/a&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://blog.devm.org/?p=28&quot;&gt;&lt;img alt=&quot;http://blog.devm.org/?p=28&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmAxagIiZJW2JvyjYuCWvx_WjY6jj62LMwowOIr8eiWIYz9VP3ZeWA8m3Qi8OQIPCjNOiaIS8gc06-AuZg_5uI6bf3w0o9RbVkSGVM4Tcwb-pz2joxdEKv39_RIfa38IuYLYe254EbdVQ/s1600/Fedora-21-livemedia-workstation-64-thumb-2.png&quot; height=&quot;201&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Everything is working just fine, this is the first time that I can install and start working without major problems.  I&#39;m very glad with this new version of Fedora so far&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;https://getfedora.org/en/workstation/&quot;&gt;https://getfedora.org/en/workstation/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://docs.fedoraproject.org/en-US/Fedora/21/html/Installation_Guide/&quot;&gt;https://docs.fedoraproject.org/en-US/Fedora/21/html/Installation_Guide/&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.binarytides.com/vbox-guest-additions-fedora-20/&quot;&gt;http://www.binarytides.com/vbox-guest-additions-fedora-20/&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://worldofgnome.org/installing-the-latest-virtualbox-guest-in-fedora/&quot;&gt;http://worldofgnome.org/installing-the-latest-virtualbox-guest-in-fedora/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.devm.org/?p=28&quot;&gt;http://blog.devm.org/?p=28 &lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/1955986332046064689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2014/12/fedora-21-guest-in-windows-host-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/1955986332046064689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/1955986332046064689'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2014/12/fedora-21-guest-in-windows-host-using.html' title='Fedora 21 Guest in Windows Host using VirtualBox'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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/AVvXsEhmAxagIiZJW2JvyjYuCWvx_WjY6jj62LMwowOIr8eiWIYz9VP3ZeWA8m3Qi8OQIPCjNOiaIS8gc06-AuZg_5uI6bf3w0o9RbVkSGVM4Tcwb-pz2joxdEKv39_RIfa38IuYLYe254EbdVQ/s72-c/Fedora-21-livemedia-workstation-64-thumb-2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8000057801945638271.post-5640443144794392894</id><published>2014-12-12T13:42:00.001-06:00</published><updated>2014-12-12T13:44:49.954-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dvc"/><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="git history"/><category scheme="http://www.blogger.com/atom/ns#" term="git introduction"/><category scheme="http://www.blogger.com/atom/ns#" term="git tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="scm"/><category scheme="http://www.blogger.com/atom/ns#" term="vcs"/><title type='text'>Git Series: Quick Intro</title><content type='html'>&lt;b&gt;Git&lt;/b&gt; is a software that keeps track of changes and allows you to move back and forth between different versions to compare and see what changed between each one. Git is a VCS (Version Control System). When a VCS is used to manage source code, it’s also called a SCM (Source code management) too&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;VCS + source code = SCM&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Let’s look back&lt;/h3&gt;
&lt;br /&gt;
Source Code Control System (&lt;b&gt;SCCS&lt;/b&gt;) 1972. Closed source, free, Only for UNIX.&lt;b&gt; It stored the original file and all the changes that went after it&lt;/b&gt;, so when you opened the file, it opened the original one and then all the changes were applied (low performance)&lt;br /&gt;
&lt;br /&gt;
Revision Control System (&lt;b&gt;RCS&lt;/b&gt;) 1982. open source, cross platform. &lt;b&gt;It kept the most recent file in its whole form with all the previous changes&lt;/b&gt;, and only if you want a previous version, you applied the change snapshot to go backwards in time (better performance)&lt;br /&gt;
&lt;br /&gt;
Concurrent Version System (&lt;b&gt;CVS&lt;/b&gt;) 1986. Open source, cross platform. You could work with multiple files. &lt;b&gt;Many users could work with a single repository over a network&lt;/b&gt;, the concept of remote repositories were introduced.&lt;br /&gt;
&lt;br /&gt;
Apache Subversion (&lt;b&gt;SVN&lt;/b&gt;) 2000. Open source, cross platform. It was faster and allowed to save different file formats. &lt;b&gt;It kept track of directories not only of files&lt;/b&gt;, SVN applied transactions to update changes through many files and directories and mantain integrity&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Bitkeeper scm&lt;/b&gt; 2000. Closed source, cross platform. &lt;b&gt;First distributed versions control&lt;/b&gt;, it had a community version used for source code of the Linux kernel. In 2005 the community version disappeared&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Git &lt;/b&gt;2005. Open source, cross platform. Developed by Linus Torvalds as a replacement for Bitkeeper&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Distributed Version Control&lt;/h3&gt;
&lt;br /&gt;
Every user maintain their own repositories. Changes are stored as change sets or patches and every user tracks only the changes that are useful for them.&lt;br /&gt;
&lt;br /&gt;
It is a convention to establish a “master” repository and stay up to date with this master repository, but it is just a convention, we don’t have to&lt;br /&gt;
&lt;br /&gt;
No need to communicate with the central server (work offline), it allows you to work independently and then submit your changes for inclusion or rejection</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/5640443144794392894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2014/12/git-series-quick-intro.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/5640443144794392894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/5640443144794392894'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2014/12/git-series-quick-intro.html' title='Git Series: Quick Intro'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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-8000057801945638271.post-3903332342065206164</id><published>2014-11-26T14:24:00.001-06:00</published><updated>2014-11-26T14:24:38.638-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git gitignore"/><title type='text'>Ignore files in Git</title><content type='html'>&lt;div class=&quot;entry-content&quot;&gt;
In Terminal, navigate to the location of your Git repository and&amp;nbsp; type&lt;br /&gt;
&lt;code&gt;touch .gitignore&lt;/code&gt;&lt;br /&gt;
Check &lt;a href=&quot;https://github.com/github/gitignore&quot;&gt;this collection of useful .gitignore templates&lt;/a&gt;&lt;br /&gt;
This file usually appears in the root of the repository, you can get the root directory using&lt;br /&gt;
&lt;code&gt;git rev-parse --show-toplevel&lt;/code&gt;&lt;br /&gt;
However we can have this file in any sub folder.&lt;br /&gt;
&lt;br /&gt;
To ignore files that was already tracked we need to remove them from 
the index, but&amp;nbsp; first of all we need to Commit pending changes to avoid 
unexpected behavior&lt;br /&gt;
&lt;code&gt;git rm -r --cached .&lt;/code&gt;&lt;br /&gt;
&lt;b&gt;-r&lt;/b&gt; Allow recursive removal when a leading directory name is given.&lt;br /&gt;
&lt;b&gt;-q&lt;/b&gt; git rm normally outputs one line (in the form of an rm command) for each file removed. This option suppresses that output.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;git add .&lt;/code&gt;&lt;br /&gt;
&lt;b&gt;git commit -am “Remove ignored files”&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;-a&lt;/b&gt; Tell the command to automatically stage files that 
have been modified and deleted, but new files you have not told Git 
about are not affected&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;blockquote&gt;
warning: LF will be replaced by CRLF in &amp;lt;file&amp;gt;The file will have its original line endings in your working directory.&lt;/blockquote&gt;
You can simply use&lt;br /&gt;
&lt;code&gt;git config core.autocrlf false&lt;/code&gt;&lt;br /&gt;
In Unix systems the end of a line is represented with a line feed 
(LF). In windows a line is represented with a carriage return (CR) and a
 line feed (LF) thus (CRLF). It’s nothing to worry about.&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;a href=&quot;http://git-scm.com/docs/git-commit&quot; target=&quot;_blank&quot;&gt;http://git-scm.com/docs/git-commit&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://help.github.com/articles/ignoring-files/&quot; target=&quot;_blank&quot;&gt;https://help.github.com/articles/ignoring-files/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://github.com/github/gitignore&quot; target=&quot;_blank&quot;&gt;https://github.com/github/gitignore&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://git-scm.com/docs/gitignore&quot; target=&quot;_blank&quot;&gt;http://git-scm.com/docs/gitignore&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/3903332342065206164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2014/11/ignore-files-in-git.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/3903332342065206164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/3903332342065206164'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2014/11/ignore-files-in-git.html' title='Ignore files in Git'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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-8000057801945638271.post-6170399529316300280</id><published>2014-04-19T00:45:00.000-05:00</published><updated>2014-04-27T19:55:12.449-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fc20 wiki wikimedia SELinux 403 rpm yum fc21 httpd php"/><title type='text'>MediaWiki 1.22.6 on Fedora 20</title><content type='html'>&lt;h2&gt;
Motivation&lt;/h2&gt;
As many of you probably know, the next version of Fedora is under many changes &lt;b&gt;F21&lt;/b&gt; is not going to be released earlier than in late &lt;a href=&quot;https://fedoraproject.org/wiki/Releases/21/Schedule&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;October&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
yum in &lt;b&gt;FC20&lt;/b&gt; only allows to install the version &lt;b&gt;1.21.8&lt;/b&gt; so in order to have the most recent version we need to Install it as an rpm package or Manually&lt;br /&gt;
It is very likely to have problems during the installation, the main problem that I had was related with SELinux, so I hope this post can help you to save some time and&amp;nbsp;headaches ;-)&lt;br /&gt;
&lt;h2&gt;
Prerequisites&lt;/h2&gt;
&lt;div&gt;
I &lt;a href=&quot;http://www.digilife.be/quickreferences/QRC/The%20One%20Page%20Linux%20Manual.pdf&quot;&gt;&lt;b&gt;recommend&lt;/b&gt;&lt;/a&gt; to have a Linux Manual just in case&lt;/div&gt;
&lt;h3&gt;
Install these packages&lt;/h3&gt;
Open a Terminal and become root&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;su&lt;/pre&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;yum install -y httpd mysql-server php php-pear php-xml php-mysql php-intl php-php-pecl-zendopcache-apc php-gd php-mbstring ImageMagick-perl mailcap&lt;/pre&gt;
&lt;h3&gt;
Configure Services&lt;/h3&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;service mysqld start (&lt;span style=&quot;font-size: x-small;&quot;&gt;service mariadb start)&lt;/span&gt;
mysql_secure_installation&lt;/pre&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;*be aware of the database version, mysql was replaced by &lt;a href=&quot;http://fedoraproject.org/wiki/Features/ReplaceMySQLwithMariaDB&quot; target=&quot;_blank&quot;&gt;mariadb&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
As a good practice you should disable anonymous access and don&#39;t allow root access remotely to your database&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot; lang=&quot;bash&quot;&gt;service httpd start&lt;/pre&gt;
To make sure that the servers automatically start at boot-up, type the following commands:&lt;br /&gt;
&lt;pre class=&quot;prettyprint prettyprinted lang-bash bash&quot;&gt;chkconfig mysqld on &lt;span style=&quot;font-size: x-small;&quot;&gt;(chkconfig mariadb on)&lt;/span&gt;
chkconfig httpd on&lt;/pre&gt;
&lt;h2&gt;
-Installing Manually&lt;/h2&gt;
Drop the &lt;a href=&quot;http://releases.wikimedia.org/mediawiki/1.22/mediawiki-1.22.6.tar.gz&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;tarball&lt;/b&gt;&lt;/a&gt;&amp;nbsp;or a clone&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git&lt;/pre&gt;
in a directory accessible to your web server&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;/var/www/html/wiki/&lt;/pre&gt;
&lt;h2&gt;
-Installing it as an rpm package&lt;/h2&gt;
Download &lt;a href=&quot;ftp://fr2.rpmfind.net/linux/fedora/linux/development/rawhide/x86_64/os/Packages/m/mediawiki-1.22.5-1.fc21.noarch.rpm&quot;&gt;mediawiki-1.22.6-1.fc21.noarch.rpm&lt;/a&gt;&amp;nbsp;from &lt;a href=&quot;http://rpmfind.net/&quot;&gt;rpmfind.net&lt;/a&gt;&lt;br /&gt;
*select apropiate architecture&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;yum localinstall /root/Downloads/mediawiki-1.22.6-1.fc21.noarch.rpm&lt;/pre&gt;
MediaWiki is installed in&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;/usr/share/mediawiki&lt;/pre&gt;
with files specific to a site installed in&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;/var/www/wiki which contains:
config/
config/index.php
images/
index.php&lt;/pre&gt;
Files in &lt;i&gt;/var/www/wiki&lt;/i&gt; are used as a template and Apache can only access &lt;i&gt;/var/www/html&lt;/i&gt; if not modified. So run&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;cp -a /var/www/wiki /var/www/html&lt;/pre&gt;
the skin (the design and the css and js and images of the wiki) are still in &lt;i&gt;/usr/share/mediawiki/skins&lt;/i&gt; which is not accessible by web server.&lt;br /&gt;
Make them accessible:&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;cp -a /usr/share/mediawiki/skins /var/www/html/wiki
or
ln -s /usr/share/mediawiki/skins /var/www/html/wiki/skins&lt;/pre&gt;
&lt;h2&gt;
Running the Installer&lt;/h2&gt;
Navigate to localhost/wiki with your favorite browser.&lt;br /&gt;
If you are accessing that page for the first time, it would ask you to setup the wiki.&lt;br /&gt;
Follow that link which should take you to the setup page.&lt;br /&gt;
Fill in everything and click install button.&lt;br /&gt;
Create a new Mysql user (suggested by the installer)&lt;br /&gt;
Fill if you want a database prefix.&lt;br /&gt;
if everything goes right, MediaWiki installation successful page will be displayed.&lt;br /&gt;
LocalSettings.php has to be moved from config/ directory to the parent directory.&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;mv /var/www/html/wiki/config/LocalSettings.php /var/www/html/wiki&lt;/pre&gt;
Delete the config directory for security reasons.&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;rm -fr /var/www/html/wiki/config&lt;/pre&gt;
&lt;br /&gt;
and that´s it!! :D&lt;br /&gt;
I&#39;m not an expert so if you have any comment, correction, addition, question just let me know ;)&lt;br /&gt;
I hope to upload a video in a few days so if you have a suggestion also let me know&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Troublesutting&lt;/h2&gt;
&lt;b&gt;PHP source code in localhost/wiki&lt;/b&gt;&lt;br /&gt;
Restart your httpd server&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Permission Denied error&lt;/b&gt;&lt;br /&gt;
The minimum required for the wiki files and directories is&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;chmod 644&lt;/pre&gt;
so check using &lt;b&gt;ls -l&lt;/b&gt;&lt;br /&gt;
Also, you may need to change SELinux configuration&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;setsebool -P httpd_read_user_content 1
setbebool -P httpd_enable_homedirs 1&lt;/pre&gt;
more info about &lt;a href=&quot;http://www.mediawiki.org/wiki/SELinux&quot;&gt;SELinux&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
References&lt;/h4&gt;
http://www.mediawiki.org/wiki/Manual:Installation_requirements&lt;br /&gt;
http://www.mediawiki.org/wiki/Download_from_Git&lt;br /&gt;
http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Fedora&lt;br /&gt;
http://www.wikihow.com/Install-MediaWiki-on-Fedora&lt;br /&gt;
http://www.mediawiki.org/wiki/SELinux&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/6170399529316300280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2014/04/mediawiki-1225-on-fedora-20.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/6170399529316300280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/6170399529316300280'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2014/04/mediawiki-1225-on-fedora-20.html' title='MediaWiki 1.22.6 on Fedora 20'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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><georss:featurename>Downtown Regina</georss:featurename><georss:point>50.447201 -104.605758</georss:point></entry><entry><id>tag:blogger.com,1999:blog-8000057801945638271.post-2936556250472981987</id><published>2013-04-16T13:26:00.003-05:00</published><updated>2014-12-12T18:18:53.671-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AbstractMethodError"/><category scheme="http://www.blogger.com/atom/ns#" term="DocumentBuilderFactory"/><category scheme="http://www.blogger.com/atom/ns#" term="jaxp"/><category scheme="http://www.blogger.com/atom/ns#" term="jaxp.properties"/><category scheme="http://www.blogger.com/atom/ns#" term="newInstance"/><category scheme="http://www.blogger.com/atom/ns#" term="SAXParserFactory"/><category scheme="http://www.blogger.com/atom/ns#" term="SchemaFactory"/><category scheme="http://www.blogger.com/atom/ns#" term="TransformerFactory"/><category scheme="http://www.blogger.com/atom/ns#" term="XPathFactory"/><title type='text'>java.lang.AbstractMethodError: org.apache.xerces.dom.DeferredElementImpl.getTextContent()</title><content type='html'>&lt;div&gt;
&lt;code&gt;org.w3c.dom.Node&lt;/code&gt; is an interface. org.apache.xerces.dom.DeferredElementImpl is an implementation of that interface. It seems that DeferredElementImpl does not implement getTextContent() properly. There are a lot of other implementations. If you write a program that uses DocumentBuilderFactory, then when you run it, you will actually be using one of the implementations.&lt;/div&gt;
&lt;div&gt;
You can choose between:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&quot;com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl&quot; &amp;nbsp;Is the standard implementation bundled in the Sun JRE.&lt;/li&gt;
&lt;li&gt;&quot;org.apache.xerces.jaxp.DocumentBuilderFactoryImpl&quot;&amp;nbsp;The non-standard XML parser. Specified in a library on your classpath. That is perfectly fine, but it&#39;s something you should be aware of.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
The method javax.xml.parsers.DocumentBuilderFactory#newInstance() uses the following ordered lookup procedure to determine the implementation class to load:. See &lt;a href=&quot;http://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/DocumentBuilderFactory.html#newInstance()&quot; target=&quot;_blank&quot;&gt;Javadoc&lt;/a&gt; for details&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Use the javax.xml.parsers.DocumentBuilderFactory system property.&lt;/li&gt;
&lt;li&gt;Use the properties file &quot;lib/jaxp.properties&quot; in the JRE directory.&lt;/li&gt;
&lt;li&gt;Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.parsers.DocumentBuilderFactory in jars available to the runtime.&lt;/li&gt;
&lt;li&gt;Platform default DocumentBuilderFactory instance.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
Setting the jaxp.debug system property will cause this method to print a lot of debug messages to System.err&lt;/div&gt;
&lt;div&gt;
java -Djaxp.debug=1 YourProgram .... &amp;nbsp;or java -Djaxp.debug=true YourProgram ....&lt;/div&gt;
&lt;div&gt;
The method javax.xml.parsers.DocumentBuilderFactory#newInstance(String factoryClassName, ClassLoader classLoader) specifies&amp;nbsp;the implementation class to load&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;How to find the JAXP implementations been used&lt;/span&gt;&lt;/div&gt;
&lt;pre class=&quot;prettyprint lang-java&quot;&gt;private static void OutputJaxpImplementationInfo() {
   System.out.println(getJaxpImplementationInfo(&quot;DocumentBuilderFactory&quot;, DocumentBuilderFactory.newInstance().getClass()));
   System.out.println(getJaxpImplementationInfo(&quot;XPathFactory&quot;, XPathFactory.newInstance().getClass()));
   System.out.println(getJaxpImplementationInfo(&quot;TransformerFactory&quot;, TransformerFactory.newInstance().getClass()));
   System.out.println(getJaxpImplementationInfo(&quot;SAXParserFactory&quot;, SAXParserFactory.newInstance().getClass()));
   System.out.println(getJaxpImplementationInfo(&quot;SchemaFactory&quot;, SchemaFactory.newInstance().getClass()));
}
private static String getJaxpImplementationInfo(String componentName, Class componentClass) {
   CodeSource source = componentClass.getProtectionDomain().getCodeSource();
   return MessageFormat.format(
      &quot;{0} implementation: {1} loaded from: {2}&quot;,
      componentName,
      componentClass.getName(),
      source == null ? &quot;Java Runtime&quot; : source.getLocation());
}&lt;/pre&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;Possible Solutions&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;Update your JAXP jar implementation&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Do a mvn dependency:tree and see if there are any xerces related jars that need to be removed or updated from an implied version &amp;nbsp;to declaring one that works&lt;/li&gt;
&lt;li&gt;Google/Bing &amp;nbsp;the most recent verision of your jar library&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;Use the default implementation&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Given the order used to determine the implementation to load, we can set System property javax.xml.parsers.DocumentBuilderFactory System.setProperty(&quot;javax.xml.parsers.DocumentBuilderFactory&quot;,&quot;com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl&quot;);&lt;/li&gt;
&lt;li&gt;In command line add -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl&lt;/li&gt;
&lt;li&gt;&lt;b&gt;The best solution for me is passing a parameter to DocumentBuilderFactory to specify which parser to use: DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(&quot;com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl&quot;, null);&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
I hope you find this information useful‎, and if you have aditional information or questions you can leave a comment :)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/2936556250472981987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2013/04/javalangabstractmethoderror.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/2936556250472981987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/2936556250472981987'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2013/04/javalangabstractmethoderror.html' title='java.lang.AbstractMethodError: org.apache.xerces.dom.DeferredElementImpl.getTextContent()'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8000057801945638271.post-5960221994066940278</id><published>2012-07-02T13:38:00.001-05:00</published><updated>2012-11-14T10:42:38.567-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Abstract Class"/><category scheme="http://www.blogger.com/atom/ns#" term="Interface"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="static Methods"/><title type='text'>Abstract Classes, Interfaces and Why Static Abstract Methods can&#39;t be declared?</title><content type='html'>Lets make a review:&lt;br /&gt;
Interfaces&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;All variables defined in an interface must be public, static, and final.&lt;/li&gt;
&lt;li&gt;Interface methods must not be static.&lt;/li&gt;
&lt;li&gt;Interface methods&amp;nbsp;implicitly are abstract and cannot have implementations.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Abstract class&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Unlike interfaces, abstract classes can contain fields that are not static and final.&lt;/li&gt;
&lt;li&gt;abstract classes&amp;nbsp;can contain implemented methods.&lt;/li&gt;
&lt;li&gt;An abstract class may have static fields and static methods. You can use these static members with a class reference.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Static methods in abstract classes must be implemented.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Static Methods.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;You can call a static method with a class reference or with an object&lt;/li&gt;
&lt;li&gt;Static methods can&#39;t be overriding.&lt;/li&gt;
&lt;li&gt;The calls to static methods are determined by the &lt;b&gt;reference type&lt;/b&gt; at compile time, instead of the &lt;b&gt;object type&lt;/b&gt; which are determined in run time&lt;/li&gt;
&lt;li&gt;Polymorphism&amp;nbsp;aren&#39;t&amp;nbsp;supported.&amp;nbsp;
You can write a new&amp;nbsp;&lt;i&gt;static&lt;/i&gt;&amp;nbsp;method in the subclass that has the same signature as the one in the superclass, thus&amp;nbsp;&lt;i&gt;hiding&lt;/i&gt;&amp;nbsp;it.&lt;/li&gt;
&lt;li&gt;It is not&amp;nbsp;necessary&amp;nbsp;to have any instance of the class within the static method. The compiler changes the object references &amp;nbsp;for class references when calling static methods.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Given the Java Specification, &lt;b&gt;a method couldn&#39;t be Abstract and Static at the same time&lt;/b&gt;; You can&#39;t declare static methods in interfaces or abstract classes. Nevertheless, you can implement static methods in abstract classes.&lt;br /&gt;
&lt;br /&gt;
The reason to&amp;nbsp;don&#39;t&amp;nbsp;allow &lt;b&gt;static&lt;/b&gt; and&amp;nbsp;&lt;b&gt;abstract&lt;/b&gt;&amp;nbsp;in the same method is that,&lt;br /&gt;
You can call a implemented static method, but try to figure out what should happen if you call a not-implemented static method&amp;nbsp;through&amp;nbsp;a class reference ( by an abstract class or interface).&lt;br /&gt;
&lt;br /&gt;
You can&#39;t call a static abstract method&amp;nbsp;because you&amp;nbsp;haven&#39;t&amp;nbsp;a specific&amp;nbsp;implementation&amp;nbsp;at compile time.&lt;br /&gt;
&lt;br /&gt;
Also you might be thinking in implement this abstract static method in a subclass and make class references &amp;nbsp;to this method&amp;nbsp;through&amp;nbsp;the subclass, but it is not&amp;nbsp;possible&amp;nbsp;given that the static methods&amp;nbsp;doesn&#39;t&amp;nbsp;have&amp;nbsp;polymorphic&amp;nbsp;behavior&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;a href=&quot;http://docs.oracle.com/javase/tutorial/java/IandI/index.html&quot; style=&quot;color: blue; font-family: sans-serif; text-indent: -8px;&quot;&gt;Interfaces and Inheritance&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=&quot;background-color: #f0e6d5; font-family: verdana, arial, helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;a href=&quot;http://www.coderanch.com/forums/posts/preList/410462/2301186&quot; style=&quot;color: #2f2f5b;&quot;&gt;Static Methods in an Interface&lt;/a&gt;&amp;nbsp;&lt;/strong&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/5960221994066940278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2012/07/abstract-classes-interfaces-and-why.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/5960221994066940278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/5960221994066940278'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2012/07/abstract-classes-interfaces-and-why.html' title='Abstract Classes, Interfaces and Why Static Abstract Methods can&#39;t be declared?'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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-8000057801945638271.post-3000933578353472778</id><published>2012-06-12T01:29:00.000-05:00</published><updated>2012-06-12T01:29:13.543-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript variables"/><title type='text'>Javascript Variables</title><content type='html'>&lt;br /&gt;
JavaScript is an untyped language. This means that a variable can hold any datatype. It also means that a variable may be assigned data of one particular datatype and then later be given data of a different datatype.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Definition&lt;/h2&gt;
Variables are used to hold values or expressions. They can be thought of as named containers. You can place data into these containers and then refer to the data simply by naming the container.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Declaring Variables&lt;/h2&gt;
You declare JavaScript variables with the var keyword&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-javascript&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
var age;
var name;
&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
After the declaration shown above, the variable is empty.&lt;br /&gt;
You can also declare multiple variables with the same var keyword as follows:&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-javascript&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
var age, name;
&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
When using a variable for the first time it is not necessary to use &quot;var&quot; before the variable name, but it is a good programming practice. Use the var keyword only for declaration or initialization once for the life of any variable name in a document. You should not re-declare same variable twice.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Rules for naming variables&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;You should not use any of the JavaScript reserved keyword as variable name.&lt;/li&gt;
&lt;li&gt;They must begin with a letter (not digit), the underscore character or currency. For example, 123test is an invalid variable name but_123test is a valid one.&lt;/li&gt;
&lt;li&gt;JavaScript variable names are case sensitive.&lt;/li&gt;
&lt;li&gt;After the first character, can contain letters, digits, and underscores&lt;/li&gt;
&lt;li&gt;Cannot contain space&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;JavaScript Reserved Words:&lt;/h3&gt;
The following are reserved words in JavaScript. They cannot be used as JavaScript variables, functions, methods, loop labels, or any object names.&lt;br /&gt;
&lt;br /&gt;
abstract&lt;br /&gt;
boolean&lt;br /&gt;
break&lt;br /&gt;
byte&lt;br /&gt;
case&lt;br /&gt;
catch&lt;br /&gt;
char&lt;br /&gt;
class&lt;br /&gt;
const&lt;br /&gt;
continue&lt;br /&gt;
debugger&lt;br /&gt;
default&lt;br /&gt;
delete&lt;br /&gt;
do&lt;br /&gt;
double&lt;br /&gt;
else&lt;br /&gt;
enum&lt;br /&gt;
export&lt;br /&gt;
extends&lt;br /&gt;
false&lt;br /&gt;
final&lt;br /&gt;
finally&lt;br /&gt;
float&lt;br /&gt;
for&lt;br /&gt;
function&lt;br /&gt;
goto&lt;br /&gt;
if&lt;br /&gt;
implements&lt;br /&gt;
import&lt;br /&gt;
in&lt;br /&gt;
instanceof&lt;br /&gt;
int&lt;br /&gt;
interface&lt;br /&gt;
long&lt;br /&gt;
native&lt;br /&gt;
new&lt;br /&gt;
null&lt;br /&gt;
package&lt;br /&gt;
private&lt;br /&gt;
protected&lt;br /&gt;
public&lt;br /&gt;
return&lt;br /&gt;
short&lt;br /&gt;
static&lt;br /&gt;
super&lt;br /&gt;
switch&lt;br /&gt;
synchronized&lt;br /&gt;
this&lt;br /&gt;
throw&lt;br /&gt;
throws&lt;br /&gt;
transient&lt;br /&gt;
true&lt;br /&gt;
try&lt;br /&gt;
typeof&lt;br /&gt;
var&lt;br /&gt;
void&lt;br /&gt;
volatile&lt;br /&gt;
while&lt;br /&gt;
with&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;





Assignation initialization&lt;/h2&gt;
Storing a value in a variable is called variable initialization. You can do variable initialization at the time of variable creation or later point in time when you need that variable using the equal (=) sign&lt;br /&gt;
If you assign values to variables that have not yet been declared, the variables will automatically be declared as global variables.&lt;br /&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
var name = &quot;Ali&quot;;
var age;
age = 2000.50;
&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;

&lt;h3&gt;Special variable values&lt;/h3&gt;


&lt;h4&gt;undefined&lt;/h4&gt;
If a variable hasn&#39;t been declared or assigned yet then that variable will be given a special undefined value. Evaluates to false in boolean operations. Always use === when comparing to undefined.&lt;br /&gt;
var x;&lt;br /&gt;
var y = false;&lt;br /&gt;
&lt;br /&gt;
typeof(x) → undefined (as a string)&lt;br /&gt;
&lt;br /&gt;
x == y → true&lt;br /&gt;
x === y → false&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;



&lt;b&gt;NaN&lt;/b&gt;&lt;/h4&gt;
Not a Number, generated when arithmetic operations return invalid results. Evaluates to false in boolean operations. Always use isNaN() when comparing to NaN. NaN is never equal to itself!&lt;br /&gt;
var x = 10/seventeen;&lt;br /&gt;
&lt;br /&gt;
x → NaN&lt;br /&gt;
&lt;br /&gt;
var x = 10/seventeen;&lt;br /&gt;
&lt;br /&gt;
x == x → false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;



Scope&lt;/h2&gt;
The scope of a variable is the region of your program in which it is defined. JavaScript variable will have only two scopes.&lt;br /&gt;
&lt;b&gt;Global Variables:&lt;/b&gt; A global variable has global scope which means it is defined everywhere in your JavaScript code.&lt;br /&gt;
&lt;b&gt;Local Variables:&lt;/b&gt; A local variable will be visible only within a function where it is defined.&lt;br /&gt;
JavaScript does not have block scope, so defining variables in blocks can confuse programmers who are experienced with other C family languages. Define all variables at the top of the function.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Hiding variables&lt;/h3&gt;
Within the body of a function, a local variable takes precedence over a global variable with the same name. If you declare a local variable or function parameter with the same name as a global variable, you effectively hide the global variable.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Local Variables&lt;/h3&gt;
A variable declared within a JavaScript function becomes LOCAL and can only be accessed within that function.&lt;br /&gt;
Function parameters are always local to that function.&lt;br /&gt;
You can have local variables with the same name in different functions, because local variables are only recognized by the function in which they are declared.&lt;br /&gt;
Local variables are deleted as soon as the function is completed.&lt;br /&gt;
&lt;br /&gt;

&lt;h3&gt;Global variables&lt;/h3&gt;
Variables declared outside a function, become GLOBAL, and all scripts and functions on the web page can access it.&lt;br /&gt;
Global variables are deleted when you close the page.&lt;br /&gt;
If you assign values to variables that have not yet been declared, the variables will automatically be declared as global variables.&lt;br /&gt;
Use of global variables should be minimized. Implied global variables should never be used.&lt;br /&gt;
&lt;br /&gt;

&lt;h2&gt;Naming Conventions&lt;/h2&gt;
Names should be formed from the 26 upper and lower case letters (A .. Z, a .. z), the 10 digits (0 .. 9), and _ (underbar).&lt;br /&gt;
Avoid use of international characters because they may not read well or be understood everywhere. Do not use $ (dollar sign) or \ (backslash) in names.&lt;br /&gt;
Do not use _ (underbar) as the first character of a name. It is sometimes used to indicate privacy, but it does not actually provide privacy.&lt;br /&gt;
Most variables and functions should start with a lower case letter.&lt;br /&gt;
Global variables should be in all caps.&lt;br /&gt;
All variables should be declared before used. JavaScript does not require this, but doing so makes the program easier to read and makes it easier to detect undeclared variables that may become implied global. Implied global variables should never be used.&lt;br /&gt;
The var statements should be the first statements in the function body.&lt;br /&gt;
It is preferred that each variable be given its own line and comment. They should be listed in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://developerblogging.blogspot.com/feeds/3000933578353472778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://developerblogging.blogspot.com/2012/06/javascript-variables.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/3000933578353472778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8000057801945638271/posts/default/3000933578353472778'/><link rel='alternate' type='text/html' href='http://developerblogging.blogspot.com/2012/06/javascript-variables.html' title='Javascript Variables'/><author><name>test</name><uri>http://www.blogger.com/profile/14501044479382200740</uri><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></feed>