<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for terceiro</title>
    <link>http://www.advogato.org/person/terceiro/</link>
    <description>Advogato blog for terceiro</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 18 May 2013 11:51:44 GMT</pubDate>
    <item>
      <pubDate>Tue, 23 Aug 2005 01:39:41 GMT</pubDate>
      <title>23 Aug 2005</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=8</guid>
      <description>&lt;strong&gt;UML diagrams quick reference&lt;/strong&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; UML isn't really like hiding a bike: after some time without
practicing, you &lt;strong&gt;do&lt;/strong&gt; forget how to do it.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; I've just googled "uml class diagram reference" and got &lt;a href="http://www.holub.com/goodies/uml/" &gt;Allen Holub's UML Quick Reference&lt;/a&gt; as the first hit.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; I mean, you'll never forget the logic and semantics of a UML
class diagram, but its syntax. If there are advantages in
using UML, the most important of them is that people can undertand what you mean with a design. Buy, anyway, that
would be that good without using the right symbols in the right places, huh?

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; Did you remember the difference between the white and the black-filled diamond arrow ends in class diagrams?

&lt;p&gt; Oh, yes: drawing diagrams with a bad mouse &lt;strong&gt;sucks&lt;/strong&gt; too much.</description>
    </item>
    <item>
      <pubDate>Thu, 4 Aug 2005 19:11:14 GMT</pubDate>
      <title>4 Aug 2005</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=7</guid>
      <description>&lt;strong&gt;Programming Language Concepts are not taught well&lt;/strong&gt;
&lt;p&gt;Recently Pedro &lt;a href="http://www.pedrokroeger.net/weblog/?p=13" &gt;wrote&lt;/a&gt; about stuff that makes Lisp so powerfull. For short, he argues that Lisp macros make possible to easily implement abstractions that are not builtin to the language. Indeed it's a very nice feature, and I now recognize Lisp as a great language. :-) &lt;p&gt;
But my point in this post is to point what I think that is the cause for the bad impression that I had about it during undergraduation (and I guess that all of my coleagues had too).&lt;p&gt;
The problem is that Programming Languages Concepts are taught under a, let's say, limited perspective. There is small emphasys on key concepts, like First Class Citizens, Abstractions, Meta-Programming, etc. I wasn't taught during undergraduation that &lt;strong&gt;functions are a data type&lt;/strong&gt;, just like numbers, character strings, and others. What happens is that they may or may not be first class citizens, but are a data type.&lt;p&gt;
This is indeed a characteristics of books like &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0321193628/002-7801386-1776069" &gt;Concepts of Programming Languages&lt;/a&gt; by Robert W. Sebesta, and others used in so many places to teach Programming Language Concepts. They tend to focus on concepts used in laguages that are currently popular (read "broadly used in the &lt;em&gt;market&lt;/em&gt;"), and not in some general concepts that are the foundation os &lt;em&gt;every&lt;/em&gt; language in the world.&lt;p&gt;
Several of the mainstream languages have they merits, but Programming Language Concepts books that don't go further in general concepts make several people with minds stuck to the languages that "everyone uses".&lt;p&gt;
For those who want to learn in deep about Programming Languages Concepts, I would recommend a series by Professor David Watt: &lt;a href="http://portal.acm.org/citation.cfm?id=82106" &gt;Programming language concepts and paradigms&lt;/a&gt;, &lt;a href="http://portal.acm.org/citation.cfm?id=120468" &gt;Programming language syntax and semantics&lt;/a&gt; and &lt;a href="http://portal.acm.org/citation.cfm?id=562957" &gt;Programming Language Processors&lt;/a&gt;. Well, "just" for understanding real programming language concepts, I guess that the first one is enough. :-)</description>
    </item>
    <item>
      <pubDate>Tue, 12 Jul 2005 19:06:27 GMT</pubDate>
      <title>12 Jul 2005</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=6</guid>
      <description>&lt;strong&gt;Bypassing bad (or null) UTF-8 support on text-mode applications&lt;/strong&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; Well, I'm a big fan of text-mode applications like &lt;tt&gt;centericq&lt;/tt&gt;, &lt;tt&gt;links&lt;/tt&gt;, etc. But some time ago I decided to dive into UTF-8,
but it caused me problems: those applications don't handle UTF-8 well yet. Since &lt;tt&gt;mutt&lt;/tt&gt; handles UTF-8 very well, it wasn't that bas. But having to switch Gnome-Terminal tabs to iso-8859-1 encoding every time I wanted to use &lt;tt&gt;centericq&lt;/tt&gt; or &lt;tt&gt;links&lt;/tt&gt; was kind of annoying.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; I've &lt;a href="http://mailman.linuxpl.org/pipermail/cicq/2004-September/003411.html" &gt;just found&lt;/a&gt; a workaround for this. It's not the final solution, but a nice temporary one while there are applications that don't "speak" UTF-8.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; The secret is to use &lt;a href="http://www.pps.jussieu.fr/~jch/software/luit/" &gt;luit&lt;/a&gt;, a great utility that is already included in XFree86 distribution. &lt;tt&gt;luit&lt;/tt&gt; converts the terminal I/O of between UTF-* and the current locale.

&lt;p&gt; For example, :

&lt;p&gt; As I do use an UTF-8 locale, what I have to do
to make &lt;tt&gt;centericq&lt;/tt&gt; run nice inside my UTF-8
terminal:

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;tt&gt;$ LANG=pt_BR.iso88591 luit centericq&lt;/tt&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; Cool!

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; Now I have in my &lt;tt&gt;.bashrc&lt;/tt&gt;:

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;ul&gt;
  &lt;li&gt;&lt;tt&gt;alias links='LANG=pt_BR.iso88591 luit links'&lt;/tt&gt;
  &lt;li&gt;&lt;tt&gt;alias centericq='LANG=pt_BR.iso88591 luit centericq'&lt;/tt&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; BTW, Debian has a &lt;tt&gt;centericq-utf8&lt;/tt&gt; package, which doesn't work at all. That's not because of the packaging,
but because &lt;tt&gt;centericq-utf8&lt;/tt&gt; doesn't use the right
&lt;tt&gt;ncurses&lt;/tt&gt; features to abstract the input encoding, what would make the simple fact of linking the application to &lt;tt&gt;libncursesw&lt;/tt&gt; intead of the plain &lt;tt&gt;libncurses&lt;/tt&gt; enough to make it UTF-8-aware.</description>
    </item>
    <item>
      <pubDate>Sat, 2 Jul 2005 22:25:41 GMT</pubDate>
      <title>2 Jul 2005</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=5</guid>
      <description>&lt;strong&gt;TopicTranslationsPlugin&lt;/strong&gt;

&lt;p&gt; I've just released a new &lt;a href="http://twiki.org/cgi-bin/view/Plugins/TopicTranslationsPlugin" &gt;TopicTranslationsPlugin&lt;/a&gt; version. It now redirects automatically to the best available translation of a topic, based on the &lt;tt&gt;Accept-Language&lt;/tt&gt; header sent by the User Agent. I've  added also the possibility of dealing with the missing translations.

&lt;p&gt; &lt;p&gt; &lt;p&gt; I'm beginning to think that it definitely can be the base of a localization framework for &lt;a href="http://TWiki.org" &gt;TWiki&lt;/a&gt; ... wheee! :-)
</description>
    </item>
    <item>
      <pubDate>Sun, 19 Jun 2005 19:47:12 GMT</pubDate>
      <title>19 Jun 2005</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=4</guid>
      <description>I've just uploaded my first release of
&lt;a href="https://gnosislivre.org/twiki/bin/view/Html2latex" &gt;html2latex&lt;/a&gt;.
My quest with it started when me and &lt;a href="http://twiki.im.ufba.br/bin/view/Main/PedroKroeger" &gt;Pedro&lt;/a&gt; were managing to get Projeto Software Livre Bahia's &lt;a href="http://twiki.im.ufba.br/bin/view/PSL/CartilhaSL" &gt;booklet on Free Software&lt;/a&gt; &lt;a href="http://twiki.im.ufba.br/bin/view/PSL/ImpressaoDaCartilha" &gt;typesetted and printed&lt;/a&gt;.

&lt;p&gt; &lt;p&gt; We decided to use html2latex, among other conversion tools. It  has some bugs that &lt;a href="http://gnosislivre.org/twiki/bin/view/Html2latex/ChangeLog" &gt;we fixed&lt;/a&gt;. We've added some features as well.

&lt;p&gt; &lt;p&gt; Well, after that I tried to get in touch with it's original author and didn't succeeded. So I'm starting to mantain this new version. I hope it can be useful for several people and I get help with it. :-)</description>
    </item>
    <item>
      <pubDate>Mon, 23 May 2005 21:07:45 GMT</pubDate>
      <title>23 May 2005</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=3</guid>
      <description>It's amazing how free software can be flexible. The last weeks I've needed several times do configure printers remotely. Sometimes it's "scary" what can be done with
&lt;a href="http://www.cups.org" &gt;CUPS&lt;/a&gt;,
ssh,
and
&lt;a href="http://www.linuxprinting.org" &gt;LinuxPrinting.org&lt;/a&gt;.

&lt;p&gt; &lt;p&gt; &lt;p&gt; As I know (since last year, in fact) live 3000 km away from my hometown, and these days my parents bougth a new printer,
those software came into hand to solve the problem. :-)

&lt;p&gt; &lt;p&gt; &lt;p&gt; To configure "locally" a remote printer:

&lt;p&gt; &lt;p&gt; &lt;p&gt; ssh &lt;em&gt;remotehost&lt;/em&gt; &amp;nbsp; -L 9999:localhost:631

&lt;p&gt; &lt;p&gt; &lt;p&gt; This way the CUPS web configuration interface on &lt;em&gt;remotehost&lt;/em&gt; will be available on http://localhost:9999.</description>
    </item>
    <item>
      <pubDate>Thu, 8 Jul 2004 20:18:35 GMT</pubDate>
      <title>8 Jul 2004</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=2</guid>
      <description>&lt;b&gt;Changing locale notation to names suitable to &lt;a href="http://TWiki.org" &gt;TWiki&lt;/a&gt; webs&lt;/b&gt;

&lt;p&gt; &lt;p&gt;perl -p -e 's/_//; s/^(.)(.*)$/\u$1\L$2/;' &lt;br/&gt;
It will be usefull ... ;-)



&lt;p&gt; &lt;p&gt; Gives:

&lt;p&gt; &lt;p&gt; pt_BR -&amp;gt; Ptbr &lt;br/&gt;
en -&amp;gt; En &lt;br/&gt;
...</description>
    </item>
    <item>
      <pubDate>Tue, 13 Apr 2004 21:41:34 GMT</pubDate>
      <title>13 Apr 2004</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=1</guid>
      <description>&lt;p&gt;I'm used to imperative programming Languages, but I've started to read the book &lt;a href="" 'http://portal.acm.org/citation.cfm?id=130648&amp;dl=ACM&amp;coll=portal#'&gt;An introduction to functional programming systems using Haskell&lt;/a&gt;.&lt;p&gt;
Functional Programming Languages have looked ugly for me, because of my (small) previous experience with Lisp. All those parentheses were very boring.&lt;p&gt;
But &lt;a href="" 'http://www.haskell.org'&gt;Haskell&lt;/a&gt; has an extremely simple syntax, is very expressive and has direct and straighforward constructions. I've thought about programming something "real" to experiment using Haskell for programming usual stuff.&lt;p&gt;
I hope I get used to program without attributions. :-)</description>
    </item>
    <item>
      <pubDate>Tue, 6 Apr 2004 17:34:21 GMT</pubDate>
      <title>6 Apr 2004</title>
      <link>http://www.advogato.org/person/terceiro/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/terceiro/diary.html?start=0</guid>
      <description>&lt;p&gt;I'll start to write here about all stuff I do with/for free software.</description>
    </item>
  </channel>
</rss>
