Re: LuaJIT Wiki?

  • From: Mike Pall <mike-1205@xxxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Mon, 7 May 2012 19:53:09 +0200

Evan Wies wrote:
> 1) nuggets of information about LuaJIT
> I find myself diving through the Lua mailing list searching for
> pearls of wisdom that Mike dropped in response to somebody's
> question.   Getting these in one place would be great, especially
> for newcomers who haven't been watching the Lua list for years.
> Already with this new targeted list, there are some fresh insights.

Links for successful online stalking of Mike: ;-)

http://lua-users.org/cgi-bin/namazu.cgi?query=%22Mike+Pall%22&idxname=lua-l&max=100&result=short&sort=date%3Aearly
http://www.reddit.com/user/mikemike
http://news.ycombinator.com/threads?id=mikemike

> 2) Curated FFI bindings
> Although I'd love to hear Mike's suggestions for managing the FFI
> ecosystem, one possibility is to just put links to gists and repos
> on the wiki, then the community can vote or comment on them.
> Currently, I find myself digging through github (especially
> [1]<https://github.com/malkia/ufo/tree/master/ffi>) and doing lots
> of copy/paste/modify for my own needs.

My idea was to have a list of 'clean' FFI bindings, with uniform
setup, not stepping on each others toes, possibly with proper
dependencies between them. And a kind of meta-package that
contains all of them and installs the relevant ones for your
system (or the cross-compile target).

Especially that 'clean' aspect would be important. Right now many
of the bindings happily overwrite globals, are suboptimal wrt.
runtime performance, don't work on all platforms, contain binaries
(ugh), overwrite standard typedefs, do not properly install for
cross-builds, and so on. This needs a heretic cleanup effort and,
you know, I can only write so many pull requests a day.

I don't think all of that needs to be necessarily hosted in one
place. But I find it rather inconvenient having to dive into a
dozen different repos, find the 'download tar.gz file' button,
hunt for the (non-existent) install instructions, type these by
hand and find it all piled up under /home, /opt, /usr/local or
wherever the author thought it was a smart idea.

There are standard installers for e.g. Python or Ruby and this
makes it much simpler to come up with a clean package. I'm even
willing to add some kind of "ffi.setup" module to the core that
contains the required logic for every target platform and which
can be customized by the local user _once_. However I'm not keen
on writing all of that installer code right now ...

Given my workload, it's not realistic for me to be the curator of
this list of bindings. So, yes, a list in the wiki would be a good
first step.

> 3) Best Practices and Examples
> Whereas #1 is more like wisdom, having pages with tutorials/examples
> for people to adapt from would be useful.   As I noted, I borrow
> snippets from github; I've had people comment on mistakes or bad
> practices, which are practices I've adapted from other places.
> Having a place that is peer-reviewed (i.e. wiki-editable) would
> provide higher quality examples for the community to build on.

Agree. Even the small snippets I'm occasionally sending around,
can get out-of-date with newer features. And you can't edit a
mailing list post later on ...

> What do you all think of this?  I volunteer to set up the wiki and
> to host it (if necessary, perhaps Confluence OnDemand would be good?
> [2]), as well as mine the pearls from lua-l (#1 above).
> 
> jithub.org  is available... :P

I can easily set up a CNAME or an A record for wiki.luajit.org to
wherever you want.

--Mike

Other related posts: