Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Is Mathematics Beautiful? First part: Surfaces

"Mathematics, as much as music or any other art, is one of the means by which we rise to a complete self-consciousness. The significance of Mathematics resides precisely in the fact that it is an art; by informing us of the nature of our own minds it informs us of much that depends on our minds" - J.W.N.Sullivan (1886-1937), Aspects of Science, 1925.

Just some interesting surfaces. The software used is Python and MayaVi. I used the scripting facilities provided by this great visualization tool, called MayaVi.

Surfaces

a silhouette of a person's head and shoulders, used as a default avatar

Zimbra Mail Server : How to Make an Archive for Every Incoming & Outgoing Mail

zimbra-logoI’m running Zimbra Mail Server on openSUSE since last 2 years. I’m quite satisfied with the great features on Zimbra but I lost one nice feature as included on my old MDaemon Mail Server while still using Windows on 2003-2005. It was an Archival Feature.

One of the important features that are needed on a mail server is archiving, the backup copy of all incoming and outgoing mail.

Although we can do the backup process periodically for every account, archiving more better and efficient because we have all of copy email which 100% similar with the original.

I’m writing a simple tutorial and it’s impact in my personal blog. Click here to go to the article.

a silhouette of a person's head and shoulders, used as a default avatar

LaTeX useful Tips/Tricks

In my previous post I discussed a "small" but, I would say "complet" template to start your document. If you want to include also movies in your pdf documents, then this post can help you. If you need a good program for bibliographic management check this post.

Below I will post a lot of tips, tricks and useful stuff which helps me when I am using LaTeX, for details check the documentation of coresponding package name, or Google .

Customize your header and footer

\pagestyle{fancy}
\lhead{}
% \chead{}
\rhead{\leftmark}
% \lfoot{}
% \cfoot{}
% \rfoot{}

More packages

\usepackage{latexsym} % use \Box, \Join
\usepackage{setspace}
\usepackage{subfigure} % include subfigures
\usepackage{amsmath} % equation
% table of contents, list of figures
\usepackage[titles,subfigure]{tocloft} 
\usepackage{lastpage} % total page count
\usepackage{makeidx} % create index

Old Makefile which I used, you can modify it for your needs

dvi: poster.tex
    latex poster.tex
bib: 
    bibtex poster
view:
    kdvi poster.dvi
ps:
    dvips poster.dvi -o poster.ps
pdf:
    ps2pdf poster.ps poster.pdf
mp:
    psnup -9 -l -d2 poster.ps multpage.ps
a4:
    psresize -H118.9cm -W91.4cm -pa4 poster.ps a4.ps
    ps2pdf a4.ps poster_a4.pdf
.PHONY: clean
clean:
    @echo Cleaning...
    $(RM) *.log *.aux *.dvi *.bbl *.blg *~
    @echo Cleaning... done

Indexes and Glossaries

% first include the makeidx command in the preamble
\usepackage{makeidx}
\makeindex

To index something, use the command:

\index{Index Entry}

When the document has been processed through LaTeX, it will create a .idx file. You will then need to run the .idx file through the makeindex program:

makeindex filename

No file extension for the name. The program will look for the .idx file and will output a .ind file. This file is used by the command:

\printindex

Glossaries simply use the commands:

\makeglossary (used in the preamble, like the \makeindex command)
\glossary (used for the particular entries, like the \index command)

Include/Rotate/Reflect images

\includegraphics{image.png}
\includegraphics[angle=45]{image.png}
\includegraphics*[viewport=30 30 120 120]{image.png}
\includegraphics[scale=0.25]{image.png}
\includegraphics[width=5in,height=1in]{image.png}
% no explicit size for image
\includegraphics[width=0.88\hsize]{image.png}
% horizontally reflect a image
\reflectbox{\includegraphics{myimage.png}}
% strange text behaviour
\scalebox{2}{\rotatebox{60}{\reflectbox{Check this text!}}}

Complet environment with two images left-right

\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\hsize]{image}\  
\includegraphics[width=0.8\hsize]{image}
\caption{image caption}
\label{fig:mylabel}
\end{figure}


:::latex
\begin{figure*}[t]
\centerline{\includegraphics[width=0.8\textwidth]{figures/image}}
\caption{Caption title. {\it Caption text.}}
\label{fig:image}
\end{figure*}

Labeling sections in the document

\section{Introduction}
\label{sec:intro}
.....
% reference to section 
\ref{sec:intro}

Adding external files to the document

\section{Introduction}
\label{sec:intro}
\input{sections/intro}

Math

\[...\] % produces an unnumbered formula
\(...\)
$...$
\begin{math} ... \end{math}

Type properties

\bf % bold
\sf % sans serif
\sc % small caps
\tt % typewriter
\tiny
\normalsize
\large
\Large
\LARGE

Lists

\begin{enumerate}
   \item First item
   \item Second item
\end{enumerate}
%
\begin{itemize}
   \item First item
   \item Second item
\end{itemize}
%
\begin{description}
   \item[first] A definition for the first item.
   \item[second] A definition for the second item.
\end{description}

Columns

\begin{tabbing}
text \= some text \  
  \> text  \= text,
   \>       \> text; \  
  \> text  \> text. \  
endif 
\end{tabbing}
%
\begin{tabular}{|l|c|c|}
   \hline
   {Row 1,Col1} & {Row1,Col2} & {Row1,Col3} \  
  \hline
   {Row 2,Col1} & {Row2,Col2} & {Row2,Col3} \  
  \cline{2-3}
   {Row 3,Col1} & {Row3,Col2} & {Row3,Col3} \  
  \hline
\end{tabular}
%
\begin{tabular}{|l|c|c|}
   \hline
   {Row 1,Col1} & {Row1,Col2} & {Row1,Col3} \  
  \hline
   {Row 2,Col1} & \multicolumn{2}{c}{Row2,Col2-3} \  
  \cline{2-3}
   {Row 3,Col1} & {Row3,Col2} & {Row3,Col3} \  
  \hline
\end{tabular}

Tables

{\protect
   \begin{table}[t]
      % Table body
      \caption{Caption title. {\it The caption text.}}
      \label{tab:schema}
   \end{table}
}
%
{\protect
   \begin{table}[t]
      \centering
      \footnotesize
      \begin{tabular}{|l|c|c|}
         \hline
         {Row 1,Col1} & {Row1,Col2} & {Row1,Col3} \  
        \hline
         {Row 2,Col1} & {Row2,Col2} & {Row2,Col3} \  
        \cline{2-3}
         {Row 3,Col1} & {Row3,Col2} & {Row3,Col3} \  
        \hline
      \end{tabular}
      \caption{Caption title. {\it The caption text.}}
      \label{tab:schema}
   \end{table}
}

References:

a silhouette of a person's head and shoulders, used as a default avatar

Starting with LaTeX/PdfTeX, a small template

Just a short template with some packages included:

\documentclass[a4paper,12pt]{article}

% let's use some nice packages
\usepackage{times}
\usepackage{amssymb}
\usepackage{amsmath}
% set all margins to 2.5 cm
\usepackage[margin=2.5cm]{geometry}
% for fancy and easy modification of header and footer
\usepackage{fancyhdr}
% include hyperlinks in pdf file
\usepackage{hyperref}
% decide if run PdfTeX or LaTeX
\ifx\pdfoutput\undefined
% we are running LaTeX, not pdflatex
\usepackage{graphicx}
\else
% we are running pdflatex, so convert .eps files to .pdf
\usepackage[pdftex]{graphicx}
\usepackage{epstopdf}
\fi

% also include colors
\usepackage{color}
% define bottom line of paper, for DRAFT option
\usepackage{prelim2e}\usepackage[none,bottom]{draftcopy}
\draftcopyName{preprint / }{1.2}
\renewcommand{\PrelimWords}{Draft%
 -- contact: user@mail.yoursite.com -- www.yoursite.com}

% define a path for your images
\graphicspath{{.},{../blog/images/},,{../../blog/images/}{../../anotherdir/}}

% define a new command
\newcommand{\mylab}[1]{\label{#1}}

\title{Your Title}
\author{Your Name}
\date{\today}

\begin{document}
% show the title, author and date
\maketitle

% article's abstract
\begin{abstract}
body of abstract
\end{abstract}

\section{Section Name}
\subsection{Subsection Name}

% include the bibliography but using bibtex
\bibliographystyle{plain}
\bibliography{bibfile1,bibfile2,bibfile3}

\end{document}

Next step is to look at this nice book. That's all. Bye!

a silhouette of a person's head and shoulders, used as a default avatar

Installing Enthought Tool Suite (ETS) on OpenSUSE 11

Today, I tried to install Enthought Tool Suite on OpenSUSE 11, with the help of my old post. For the moment there are no packages for OpenSUSE. I had to checkout their repository and build the eggs, in order to install the suite. The mentioned tutorial worked but of course that I had some minor problems. Now, the last version is ETS_3.0.3 and during the build of Enable_3.0.2 a small surprise on the screen:

` kage caller_level = caller_level + 1) File "/usr/lib64/python2.5/site-packages/numpy/distutils/misc_util.py", line 781, in _get_configuration_from_setup_py config = setup_module.configuration(*args) File "enthought/kiva/agg/setup.py", line 146, in configuration if int(gcc_version_head[2][0]) < 4: ValueError: invalid literal for int() with base 10: 'L'` 

The solution was:

vim Enable_3.0.2/enthought/kiva/agg/setup.py

comment the line 146 and 147, Run the build again and everything went smoothly.

a silhouette of a person's head and shoulders, used as a default avatar

PageRank 6 for Indonesian openSUSE Community Website

openSUSE-ID PRToday, I have a good news for Indonesian (and for all off) openSUSE community, our community website have PageRank 6 (PR 6). It would be not an important news for all of us, but it’s a good news for me because I know how difficult to get PR 6 with my personal blog 😛

Indonesian openSUSE community website built on July 23, 2007 and serve as the first place for discussion, finding tutorial and supporting openSUSE fans.

Google PageRank trend is consistent with the increase in the number of users of openSUSE (user who install openSUSE in their PC or laptop) in Indonesia and in tune with the increasing number of forums and mailing lists user. It’s also consistent with the frequency of users who accessing the page tutorial on website.

Hopefully PR 6 can be the extra spirit to continue the improvement of the openSUSE community in Indonesia. We hope to provide best support for users of openSUSE and it’s variants distro.

Our next project is increasing tutorial page and encourage the member to create their personal blog within openSUSE blogger community. We hope to see more and more openSUSE related articles, with English or Indonesian or another language.

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE Board Elections : Campaign for Pascal Bleser

openSUSE Board Elections phase 1 will be finally over at 1200 UTC on 09 October 2008. I’m quite silent with the elections discussion on openSUSE mailing list (marketing, project and another mailing list) due to my job, my project in Indonesian openSUSE community and due to Happy Eid Mubarak holiday here in Indonesia, but as openSUSE lovely user, I will vote for somebody who will be stand for openSUSE board, as our (or me as openSUSE user) gateway between community and Novell.

I’m really appreciated for everyone who take the opportunity as openSUSE board candidate. It should be a great job.  All of openSUSE board candidate have technical or supporting background, active in the community and show their great effort and participation in the past.

One of openSUSE board candidate is Pascal Bleser (well known as yaloki on IRC). I have a nice discussion by IRC and by mail with him and get a good response. He is an incumbent of openSUSE board, means that he was currently openSUSE board member with AJ, Coolo, Federico and Francis.

Pascal BleserI know he has good technically background (describing zypper stuff for about 1 hour 😛 ), active on FOSDEM, good dad for his baby (look at the photos 😀 ) and don’t forget, he has been actively on merging and joining Packman repositories for openSUSE.

I don’t see any reason why I could not choose him as openSUSE member for next period. With his experience as first openSUSE board member; his technically background; his connection to another person in various open source project; and his good position to understand relation between Novell and the community, he would be the best choice for next openSUSE member.

Vote and campaign for Pascal Bleser as openSUSE Board member !

a silhouette of a person's head and shoulders, used as a default avatar

Geeko’s Scary Movie!

Poor Geeko can’t stand in front of such terrible picture and seeks shelter under Tux’s right wing.

Click on “More…” to see the picture…

Click on the picture to enlarge it. 🙂

a silhouette of a person's head and shoulders, used as a default avatar

Parralel processing in zypper

I have been on leave for a couple of days and today when I booted my laptop the openSUSE updater notified me of 4 security updates. While I was watching zypper updating the system (I prefer the command line client) I wondered if it would be possible for zypper to download and install patches/programs/etc asynchronously.  To explain better: instead of downloading a patch and then installing it, why can’t zypper download the patch and then start a process/tread to install it while it immediately starts to download the next file ? I have no knowledge of the internals of zypper or yast, so I don’t know it it even feasible, but it would decrease the time needed to patch the system.

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE Buildservice: cross-build

There is some good news for you: in cooperation with Marcus Hüwe the download on demand feature is now working seamlessly with cross-build, making it a combined “super feature”.

Also, I have put together a “condensed” cross-build in OBS document in the OBS Wiki Concepts collection.

New OBS cross-build installation packages will be provided inside openSUSE:Tools:Devel soon.

Have fun.