Jun 18

So, to begin my series of posts on LaTeX as a viable replacement for word documents, I started to look around the kind of requirements that my document would have.

My reports would have the following sections:

  • Title page (with company logo and watermark)
  • Table of Contents
  • Revision history
  • Custom header and footer information (with a company logo)
  • Back page with the addresses of all office locations and company logo and watermark

If you have ever written a document in Latex you know that writing a title page and the table of contents are actually no-brainers. However, writing tables, in my case, used to output the document revision history, is one of the few bits that is painful with the LaTeX system.

So, instead of trying to figure out the best table format, I went hunting for a package in my favorite LaTeX website.

And for my delight it was very easy to find what I was looking for. I found this package called vHistory that does precisely what I am looking for.

Here is how you use it. In the place where you want your document history to be visible, include the following code:

1
2
3
\begin{versionhistory}
% ... Entries go here ...
\end{versionhistory}

Where an entry would look like that:

1
\vhEntry{VERSION NUMBER}{DATE}{AUTHOR LIST SEPARATED BY "|"}{DESCRIPTION}

So, a quick example of my release notes for an application could look like that:

1
2
3
4
\begin{versionhistory}
\vhEntry{1.0}{01-06-2009}{Pablo}{Initial release document}
\vhEntry{1.1}{18-06-2009}{JohnDoe|Pablo}{Adding feature XYZ}
\end{versionhistory}

LaTeX vHistory package

Tagged with:
Jun 18

Single Responsibility PrincipleThanks to Ivan I started reading “Working effectively with legacy code” by Michael Feathers. With my busy family life, I am not able to progress so quickly with it, but every page is tons of fun.

So, I decided that I will post small portions of legacy code that I have written over the years and try to, using the S.O.L.I.D. principles from Uncle Bob and TDD techniques try to turn it into non-legacy code or clean code.

And for you who haven’t read the book by Michael Feathers, I will quote his definition on legacy code:

“To me, legacy code is simply code without tests. I’ve gotten some grief for this definition. What do tests have to do with whether code is bad? To me, the answer is straightforward, and it is a point that I elaborate throughout the book: Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse.”

Let’s see how far I can go here… :)

Tagged with:
Jun 17

People who have worked with me know that the LaTeX typesetting system lives very close to my heart. I have written my Master’s dissertation in LaTeX and I managed to convince some friends to use it as well.

Right now my mission is to use LaTeX for my work at the office. I really would like to stop using word to write my reports since it is usually a painful experience. Besides, it does not look fun at all (fun, being a very subjective quality in a software).

So, the first series of posts on this blog will be on using LaTeX as an alternative to Word or OpenOffice in an office environment. I will present here the document model that my company uses and I am going to gradually port it to LaTeX until I finally am able to have a document with exactly the same layout.

And to begin this exercise, I will briefly mention the software I use on my favorite operating sytem (if you couldn’t figure out yet, it’s the Mac OS X).

I use the TexShop editor, which is very simple and lightweight. I haven’t done any serious document editing with it yet, but I can say that so far it covers all my needs. And besides, it is free.

The TeX distribution was a bit thougher to choose. There are simply too many options. So, until I have some very specific needs I will be using BasicTeX.

And if I would need a bibtex manager, I would use JabRef, a multi-platform reference manager application. But since I haven’t been writing scientific documents in the past couple of years, I will not be mentioning bibtex in my blog series.

Well, that’s it. I don’t have a roadmap for this post series yet. I will post as I make progress using LaTeX for the purposes I want. And don’t worry, I have other things to blog about as well. :)

Tagged with:
Jun 10

… that I start doing something with this blog again. I’ve moved all my “personal” blogging to my son’s blog.

Now I intend to transform this website into my professional portfolio. It will be a good opportunity to consolidate things that I learn for my work.

I’m just wondering if I should set some personal goals here beforehand. Or, perhaps, this already is my first goal: to begin my next post with my initial goals for this blog. :)

Tagged with:
May 21

The website is under construction. You can visit me at Lucas’s website

Site em construção. Visite o site do Lucas.

preload preload preload