Heads up to everyone, I made a small release of lua-http yesterday. lua-http is a library that hopes to provide all HTTP operations you should ever need. In addition to all the low-level parsing and serialising operations you might expect, lua-http provides high level interfaces for writing your own HTTP server or performing HTTP requests. This was a minor release 2 years on from 0.3 that fixes a…
Today I was looking into using gitlab-ci for various projects instead of my current default choice of travis-ci. This doesn’t require a complete move to gitlab anymore: they support CI for github hosted projects! (See GitLab 10.6 release annoucement ) However moving away from travis-ci also looses me low effort integration with coveralls.io . Investigating alternatives, I found that gitlab…
After much work, I’ve finally tagged the first release of Fengari. Fengari 0.1.0 is now available for download from github and npm. What is Fengari? It’s the Lua VM ported to JavaScript, but reusing JavaScript’s garbage collector. Why should you care? With fengari-web you can start using Lua to write front-end code for websites instead of Javascript Calling between Lua and…
I’m happy to announce a new release of luatz: 0.4 It’s a lua library to work with dates and times. Features include: A os.date compatible class “timetable” supporting normalisation Conversion between locations (time zones) using your local zoneinfo database. RFC-3339 parsing Works with 5.1, 5.2, 5.3 and LuaJIT. Included in this release: Fix timetable normalisation carry…
I’m happy to announce the second release of lua-http. lua-http is a library that hopes to provide all HTTP operations you should ever need. In addition to all the low-level parsing and serialising operations you might expect, lua-http provides high level interfaces for writing your own HTTP server or performing HTTP requests. This is mostly a bugfix release. Included in this release: Remove…
I’m happy to announce the second release of lua-psl. lua-psl is a set of bindings to libpsl , a C library that handles the Public Suffix List (PSL). The PSL is a list of domains where there may be sub-domains outside of the administrator’s control. e.g. the administrator of ’.com’ does not manage ‘github.com’. This list has found use in many internet…
I’m happy to announce the first release of mmdblua. mmdblua is a lua library to read MaxMind’s Geolocation database format. This database is the most common source of Geo-IP data; you’ll probably want to download a database from Maxmind. The mmdblua library was something I originally wrote back during the 2013 lua workshop as a quick side project, but as I’ve recently found…
I’m happy to announce the first release of lua-http! lua-http is a library that hopes to provide all HTTP operations you should ever need. In addition to all the low-level parsing and serialising operations you might expect, lua-http provides high level interfaces for writing your own HTTP server or performing HTTP requests. I’d endeavoured to make behaviour as configurable as possible…
I’m happy to announce the first release of lua-psl. lua-psl is a set of bindings to libpsl , a C library that handles the Public Suffix List (PSL). The PSL is a list of domains where there may be sub-domains outside of the administrator’s control. e.g. the administrator of ’.com’ does not manage ‘github.com’. This list has found use in many internet technologies…
github.com/lua : At the lua workshop this year I spoke about my efforts to convert the historical source code of lua into git form. Until now this history was private to the lua team. I finally put the last pieces together and have now pushed the results to github. It’s split into 4 repositories: Main source: https://github.com/lua/lua Tests: https://github.com/lua/tests luac:…
I’m happy to announce the 0.4 release of lpeg_patterns. lpeg_patterns is a collection of patterns I’ve written for various widely used formats. Current sub-modules are: IPv4, IPv6, email addresses, http, language, phone numbers, uri. This release includes: Reduce memory usage by refactoring IPv6 pattern Also fixes lpeg 0.10 compatability http: case-normalise cookie attribute names http: fix…
This is a project of mine that has been sitting without a release for a long time now. With luapgsql recently getting the last fixes I was waiting for, I figured it’s time to do a proper release. cqueues-pgsql is a library that wraps luapgsql to be non-blocking when in a cqueues managed thread. The API should be the same as luapgsql; if it diverges, file a bug with me :) Homepage:…
I’m happy to announce the 0.3 release of lpeg_patterns. lpeg_patterns is a collection of patterns I’ve written for various widely used formats. Current sub-modules are: IPv4, IPv6, email addresses, http, language, phone numbers, uri. This release includes: New http module Includes parsers for almost every HTTP header. Expect this API to be unstable, it’s a significant amount of…
It seems that every dev environment/framework wants to be in charge of your program’s main loop. Prompted by a question of how to add an optional non-blocking GUI to an OSX networking daemon, I thought I would investigate how you can wrestle back control of your main loop from Apple. First some understanding of how Apple’s recommended main loop fits together, there are four relevant…
Sometimes I need a temporary postgres to try something out. I keep this script around as instantpg.sh : #!/bin/bash trap "rm -rf -- $PGDATA" EXIT export PGDATA="$(mktemp -d)" PGPORT=1234 initdb echo "Connect with: psql -p \"$PGPORT\" -h localhost -d postgres" postgres -F -k ""
I saw https://github.com/brunoos/luasec/issues/72#issuecomment-205328635 and couldn’t resist writing the linked code to use lua-http instead. As the code was originally using luasocket’s http interface, it was straightforward to convert it to lua-http’s http.compat.socket module. This compatability interface provides the same API as luasocket’s socket.http and…
I’m happy to announce the 0.2 release of lpeg_patterns. “lpeg_patterns” is a collection of patterns I’ve written for various widely used formats. Current sub-modules are: IPv4, IPv6, email addresses, phone numbers, uri. This release includes: Fixed parsing of IPv6 addresses (thanks spc) IPv6 zone support Stricter uri matching (scheme is now compulsory)…
It’s great to run tests on your code before you commit it. It’s even better to make that happen automatically! git lets you run a script before a commit succeeds by creating what is known as a “pre-commit” hook; it’s simply an executable located at .git/hooks/pre-commit . However, there are a few gotchas: by default, git will just run it against your current (possibly…