Hello there, welcome to my personal area.

This is my user space at the SourceForge website. Here you can find information about my research and work in progress. All contents are periodically updated. I’d like to say a special thanks to the great team of SourceForge for letting me host this content.

My personal info

Full name

Paulo Roberto Massa Cereda

Unix timestamp

456158400 @ Analândia, São Paulo – Brazil


Unix time is a system for describing instants in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of Thursday, January 1, 1970, not counting leap seconds, which are declared by the International Earth Rotation and Reference Systems Service and are not predictable.

If you want to easily calculate the date referring the previous timestamp, you can use Octave. For example, consider the following timestamp:

octave:1> ctime(1289124000)
ans = Sun Nov 07 08:00:00 2010

Pretty neat, isn’t it?

Languages I know

Portuguese is my mother tongue, so of course I speak it. I also speak English quite fluently, as well as Italian – sadly, I can’t write in Italian yet. I know some words and sentences in German, but that is as much as I know – it’s a beautiful language though, I wish I could learn it someday. I can understand Spanish quite well, but I don’t dare speaking it.


I love playing football, as well as table tennis, chess, bow and arrow, basketball and running. Sadly, I had several injuries due to football, so I had to retire. I don’t play rugby, but I like to watch lots of games on television. I’m still trying to understand cricket (at least I could say I played backyard cricket when I was a kid), but I still need help from my friend David Carlisle.


Some of my hobbies include reading about almost everything – technical and non-technical. I also enjoy writing texts, programming for fun, playing sports and instruments, practicing Yoga and Tai Chi Chuan, and of course hanging out with my friends. I used to read a lot of comics, but for now I only read those ones available on the web, like Dilbert, Garfield, Foxtrot, XKCD and Questionable Content. Maybe the Internet spoiled the fun.

I believe one of my favourite hobbies is having fun with \(\TeX\) and friends. I always learn a lot from my friends in the Stack Exchange community. If you want to support \(\TeX\) development by a donation, the best way to do this is donating to the users group.

My professional info

Short description

Briefly, I’m a developer, programmer and somehow a insanely frustrated mathematician wannabe. I usually say there’s too much blood in my caffeine system.

I’d say my areas of expertise include software development, systems and databases administration and monitoring, graphic design, translation, research and teaching.

Operating systems I use

I’m a Solaris fan since the dawn of time, but I use Linux a lot, specially in my development machines. I like MacOS, great stability, although I hate those Mac keyboards – I usually use my MacBook with an external keyboard. I like some flavours of BSD, including FreeBSD and OpenBSD, but I don’t use them anymore. I’m quite pleased to say I’ve ditched Windows for a long time, yay!

By the way, I’m a registered Linux user, #488842.

Programming languages

Java, C/C++, PHP, Ruby, Scala, Javascript, Groovy, Python, Haskell, Lua, ShellScript, C#, Object Pascal, Prolog, Lisp, Green, F#. Probably a lot more – I love languages.

Stuff I use

MySQL, PostgreSQL, SQLite, Apache Derby, HyperSQL, Cygwin, MinGW, Javadoc, Doxygen, Sphinx, CVS, Subversion, Git, Mercurial, NetBeans, Vim, JavaCC, MySQL Workbench, Eclipse, Apache HTTPD, Apache Tomcat, Squid Cache, OpenOffice, LibreOffice, NeoOffice, Microsoft Office, Adobe Photoshop, Corel Draw, Corel PhotoPaint, Gimp, Inkscape, GNUPlot, Maxima, Octave, Sage, Scribus, Lilypond, GraphViz, ImageMagick.

Libraries, modules and frameworks

Ant, ANTLR, Apache Cayenne, Apache Commons, Apache Forrest, Apache POI, Apache Shiro, iText, Jackson JSON, Jar Class Loader, JasperReports, Jetty, JEuclid. JFreeChart, Joda Time, JOpenChart, JSoup, JUnique, JUnit, Log4J, Logback, MiG Layout, NetBeans Rich Client Platform, OpenSwing, Pico Container, Selenium, SLF4J, SnakeYAML, SnuggleTeX, SwingX, TagSoup, Task Dialog, TestNG, TrueZIP, Velocity, XStream, Basemap, Beautiful Soup, CTypes, Distribute, GvGen, Matplotlib, MySQLdb, NumPy, PIL, Pip, Py2exe, Pyglet, Pygments, PythonMagick, PyYAML, ReportLab, SciPy, Sphinx, ActiveRecord, Alchemist, Compass, Cucumber, Excelsior, Faker, HAML, Nokogiri, Ocra, Populator, Rake, SASS, StateMachine, Weka. An a lot more, I guess.

My academic info

First and foremost, here’s my Lattes CV. The Lattes Platform is an information system maintained by the Brazilian Government to manage information on science, technology, and innovation related to individual researchers and institutions working in Brazil.

Name in bibliographic citations

Cereda, P. R. M.

def getCitation(name):
    comp = name.split(' ')
    cit = comp[len(comp) - 1]
    cit = cit + ', '
    for c in range(0, len(comp) - 1):
        cit = cit + comp[c][0].upper()
        cit = cit + '. '
    return cit

# Let us try it, shall we?
print(getCitation('Paulo Roberto Massa Cereda'))

#Output will be: Cereda, P. R. M.

Areas of interest

I work with the following areas of interest: Adaptive Technology, Artificial Intelligence, Automata Theory, Programming Languages, Theory of Computation, Theory of Complexity, Algorithms, Lambda Calculus, Discrete Mathematics, Quantum Computation, and Category Theory. Most of my recent research involves Automata Theory and Adaptive Technology, though I wish to get more contact with Lambda Calculus and Category Theory.


Currently, I’m a PhD candidate in Computer Engineering, working with Adaptive Technology, at the University of São Paulo, under the supervision of prof. João José Neto. I’m working at the Languages and Adaptive Techniques Laboratory.

2013 – present: PhD in Computer Engineering

  • Institution: University of São Paulo – São Paulo – Brazil
  • Title: A Tool for Implementing Adaptive Code in High Level Programming Languages
  • Advisor: João José Neto

2006 – 2008: Master’s Degree in Computer Science

  • Institution: Federal University of São Carlos, UFSCar – São Carlos – São Paulo – Brazil
  • Title: Adaptive Access Control Model
  • Advisor: Sérgio Donizetti Zorzo
  • Scholarship: Coordenação de Aperfeiçoamento de Pessoal de Nível Superior – CAPES, Brazil

2002 – 2005: Bachelor of Computer Science

  • Institution: Centro Universitário Central Paulista, UNICEP – São Carlos – São Paulo – Brazil
  • Title: A Study on Software Agents
  • Advisor: Durval Makoto Akamatu (deceased)


For an updated list of my publications, click here. I try very hard to keep this list updated, but it’s not always possible. In any case, check out my Lattes CV, it’s probably the most accurate.


I wrote a lot of stuff during the last few years. Some of these projects are still active, hosted on a proper repository, and of course source code is provided. I think the best option so far is to take a look at my user profile at these source code repositories, like SourceForge, GitHub and BitBucket.

Contact me

If you want to contact me, here is my electronic mail. Just write to me and I will reply as soon as possible. Python is not one of my favorite languages, but I must say it has a great potential for solving complex problems. In this case, with just one line I was able to code my electronic mail. I just hope those Internet bots aren’t that smart to decode this hash. For Python 2.x series:

# This is a Python 2.x code. Please, run the following
# line in your favorite Python interpreter.
# My e-mail should appear as result of this command.
# Thanks a lot.


If you use Python 3.x, I’m afraid there are no codecs available. Use this code instead:

# This is a Python 3.x code. Please, run the following
# line in your favorite Python interpreter.
# My e-mail should appear as result of this command.
# Thanks a lot.

import binascii

Well, that was not a very good way to present my electronic mail. If you didn’t understand the code above, please try these other instructions. It is a basic replacement algorithm, I think you won’t have problems in decoding this line of code.

// This is my e-mail. Please, replace the first (#)
// symbol by (@) and the next two (#) symbols by (.).
// This was made in order to avoid spam. Thanks a lot.

return "cereda # users # sf # net";

That’s it! You can navigate in this personal area through the links available in the sidebar. Cheers!