Author Archives: niemeyer

Smart Package Manager is out!

After 6 months of fun working on the project in silence, Smart Package Manager was finally released. As the README says: The Smart Package Manager project has the ambitious objective of creating smart and portable algorithms for solving adequately the … Continue reading

Posted in C/C++, Project, Python | Leave a comment

Progress Cell Renderer for pygtk

Here is a Progress Cell Renderer for pygtk based applications. It allows one to embed a progress bar inside a TreeView. It’s being used in Smart to present progress for downloads of packages and other items.

Posted in Python, Snippet | Leave a comment

Embedding Lua interpreter into RPM

I’ve recently committed into the RPM CVS HEAD the internal support for Lua scripts. Please, notice that this is experimental stuff. Why embedding Lua in RPM? Many scripts execute simple operations which in an internal interpreter require no forking at … Continue reading

Posted in C/C++, Lua, Patch | Leave a comment

More additions to APT-RPM Lua interface

The APT-RPM Lua interface is constantly being improved. This time, the following functions were added: pkgid() and verid() Return a unique integer identifying a package or a version. verpkg() Returns the parent package of some given version. verdeplist() Returns a … Continue reading

Posted in C/C++, Lua, Project | Leave a comment

New KDE frontend for APT-RPM

Here is a screenshot of Kynaptic, a new experiment I’m working on. This is a KDE-based frontend for APT-RPM and APT. Kynaptic is based on Synaptic, and shares the same base code on top of the APT library. On the … Continue reading

Posted in C/C++, Project | 1 Comment

APT-RPM article now in portuguese

I’ve translated to portuguese (pt_BR) the APT-RPM article I wrote for LWN. It’s available in printed media on Revista do Linux #50, and also on the LinuxIT site.

Posted in Article | Leave a comment

Toy interpreter for Linear Algebra

While working with Linear Algebra, I’ve decided to build a toy interpreter in C to play around. This was a quite interesting experiment for myself, since it was the first time I’ve built a complete (with tokenizer, compiler, and interpreter) … Continue reading

Posted in C/C++, Math, Project | 1 Comment

New RPM transaction locking

Last week I’ve worked with Jeff Johnson to fix a small RPM issue which was bothering us for quite some time. Until this change, RPM was accepting two transactions to be run at the same time but, unfortunately, this might … Continue reading

Posted in C/C++, Patch | Leave a comment

Compiler warnings in Python’s SRE

After a long time, and many people complaining about it, I finally took some time to fix some annoying compiler warnings in Python’s regular expression engine. Since it’s a rather uncommon case, I’ll explain it here with a quick example. … Continue reading

Posted in C/C++, Patch, Python | Leave a comment

Functions vs. Callable objects in Lua

While working on Lunatic Python, I’ve understood that Lua does specific type checking with lua_isfunction() in some places where a callable type is expected. As a side effect, these places only accept a real Lua function when the callable object … Continue reading

Posted in Lua, Project, Python | Leave a comment