Tuesday, December 31, 2013

Scheme. In Perl?

You know, TinyScheme is essentially in the public domain, and would really be easy to embed into Perl. In fact, you could just use Perl's own scalars as a basic Scheme type and get most of the R5RS spec for free that way...

I think I want to think harder about that. There are a lot of things I want to do in Lisp-y environments without giving up my CPAN, and TinyScheme is really, really lightweight. It's quite conceivable that you could also use the Perl module structure (and CPAN) to organize your Scheme libraries. Hmm...

But even more fascinatingly, a Scheme embedded in XS could also be used to get some introspective (and on-the-fly!) access to other XS-defined items. Say, OLE.XS, which still has me stymied in my effort to get IEMech up and running in the modern age.

So - TinyScheme is probably the lightestweight choice, but there's also Chibi Scheme that looks a more full-featured alternative, plus of course there's already Inline::Guile for serious scheming.

(I'm going to go with TinyScheme, though, and make something self-contained, a la SQLite, that already has everything you need to start with Scheme.)

Oh, here's a link on what hygienic macros are. Makes sense.

Anyway, the motivation for all that is that Sussman physics-in-Scheme course. That thing is incredibly densely written! Fortunately I'm married to a theoretical physicist who, so far, appears impressed at my staying power and is more than happy to talk about anything I find unclear. At length.

Speech synthesis

So I just found out about something called Vocaloid, which is a Yamaha product, closed source, for text-to-singing. There's nothing remotely like it in the open source world, but I suspect you could cobble it together from parts already in existence (mostly) by including the melody and timing into an existing text-to-speech engine.

Possible engines might be:
  • MARY (another project from the DFKI)
  • eSpeak - this is more or less the Linux default
  • flite, which is Festival lite.
  • And Festvox, which is the full Edinburgh/CMU Festival system.
I can only imagine that Vocaloid is a unit synthesizer with a large database; the output is pretty natural-sounding, in contrast to the state-of-the-art of truly synthetic speech.  It would be a lot of fun to play with this stuff, especially in the context of music.

Friday, December 27, 2013

Datalog

More LogicBlox/Datalog stuff:
I'm lagging in my investigations.

StackEdit

Here's a complete markup editor for formatting posts for StackOverflow and other markup-based stuff. It's bewilderingly good.

windres

windres is the Unix-y toolchain utility for Windows resources.

Code search engines

An HNN thread listing lots of code search engines.

A useful catalog of easing animations

Easing and bounces in JavaScript - neat!

Wordpress deployment

Genesis: a deployment tool for Wordpress.

Harp

Harp looks like a nice static site generator/server for modern languages and approaches.

Game Developer magazine

Free open archives.

Text/NLP stuff

Like clockwork, I collect links to interesting NLP stuff.

  • GATE: a General Architecture for Text Processing
  • textteaser extracts summaries with machine learning
  • Dezi is a Lucy/Lucene-alike in Perl

Sound generators

A couple of sounds for ... stuff.

  • A whole site with a bunch of tunable sound generators. These are fascinating. "Noise machines."
  • Dial-up modem sound effects, for the sake of nostalgia.

Post-mortem (literally) of the Knight Capital bug

It was a process error. Worth reading!

Econophysics

Again. I think. Maybe this isn't - it's really more of a statistics thing.

ionicons

A beautiful icon font.

Audio analysis with image processing algorithms

This is very cool.

Machine learning to find memory leaks

This is pretty cool.

Negative captcha

A Ruby framework for building forms that are more bot-proof. This is nice from the standpoint of technique.

Startbootstrap

Website templates based on Bootstrap.

D3.js

I always love anything about d3.js, so October saw three links: