Category Archives: Lua

Leveling up snapd integration tests

Over the last several months there has been noticeable and growing pain associated with the evolving integration tests around snapd, and given the project goal of being a cross-distribution platform, we are very keen on solving this problem appropriately so … Continue reading

Posted in Architecture, Assembly, C/C++, Cloud, Design, Go, Hardware, Haskell, Java, Lua, Project, Python, Ruby, Snippet, Test | Leave a comment

Reference strepr implementation

In an effort to polish the recently released draft of the strepr v1 specification, I’ve spent the last couple of days in a Go reference implementation. The implemented algorithm is relatively simple, efficient, and consumes a conservative amount of memory. … Continue reading

Posted in Design, Erlang, Go, Java, Lua, MongoDB, Perl, Project, Python, Ruby, Security, Snippet | 2 Comments

strepr v1 (draft2)

Note: This is a candidate version of the specification. This note will be removed once v1 is closed, and any changes will be described at the end. Please get in touch if you’re implementing it. Contents Introduction Supported values Representation … Continue reading

Posted in Architecture, Article, C/C++, Cloud, Design, Erlang, Go, Haskell, Java, Lua, Math, MongoDB, Python, Ruby, Security | 14 Comments

Efficient algorithm for expanding circular buffers

Circular buffers are based on an algorithm well known by any developer who’s got past the “Hello world!” days. They offer a number of key characteristics with wide applicability such as constant and efficient memory use, efficient FIFO semantics, etc. … Continue reading

Posted in Architecture, Article, C/C++, Erlang, Go, Haskell, Java, Lua, Perl, Python, Ruby, Snippet | 4 Comments

Introducing The Hacking Sandbox

When I started programming in Python long ago, one of the features which really hooked me up was the quality interactive interpreter offered with the language implementation. It was (and still is) a fantastic way to experiment with syntax, semantics, … Continue reading

Posted in C/C++, Erlang, Go, Haskell, Java, Lua, Perl, Ruby | 10 Comments

The forgotten art of error checking

I was just rambling randomly yesterday, in the usual microblogging platforms, about how result checking seems to be ignored or done badly. The precise wording was: It’s really amazing how little attention error handling receives in most software development. Even … Continue reading

Posted in Architecture, Go, Java, Lua, Perl, Python, Ruby, Snippet, Test | 10 Comments

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

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

Lunatic Python

Lunatic Python is a two-way bridge between Python and Lua, allowing these languages to intercommunicate. Being two-way means that it allows Lua inside Python, Python inside Lua, Lua inside Python inside Lua, Python inside Lua inside Python, and so on. … Continue reading

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