Saturday, January 9, 2016

Automatic Differentiation

Well, this is just all kinds of cool. I hadn't realized you could calculate the differential without differentiating. Just ... never occurred to me, although in retrospect it makes sense.

I really want to do things with this.

Friday, December 18, 2015

Meta post

So I've been busy. Actually, the database says I've been insanely busy with paying work this year, by far my record year since I've been doing translation. As the year winds down and we move into January, I hope to get back to coding in earnest.

I've been looking at Stockfighter as a testbed for some of these Decl notions - in the sense that doing programming forces me to evaluate directions in the tools. For example, right off the bat I want to write a Perl API wrapper for convenience, and I'm doing that in a (quasi) literate manner using Decl syntax. The syntax stuff is pretty solid already; nodal access is still kind of primitive but it's just this kind of task that helps improve things like that. Most of what I'm doing can roll back into the Decl core as a whole, because it's all stuff like mapping and text generation.

I'm looking at TXL again to get a mental handle on tree transformations, and thinking of working through its tutorial examples, then translating them into a Decl context. TXL works from general languages to generate its internal syntax trees, and of course Decl basically starts from the syntax tree already, but the problem space that TXL was designed to work with is one of the things I think Decl should address.

Editing has also been on my mind again; I'm thinking of adapting Wx::StyledText to work with Decl in a native manner. It would be quite useful for debugging to be able to pop up a Decl text in a window any time I liked, especially once mapping starts to work.

I think I have a good handle on what needs to go into the Decl core, and a decent presentation framework for it as a book/tutorial/cookbook series. That seems pretty tasty. Although now I think maps are going to have to go in there, and they weren't yet (even though I was actually using them in the book already - as a part of literate programming, so maybe this is just added detail in that existing chapter).

I'm very close to being able to do a filesystem domain, and once I've got a handle on that, project management will be nearly trivial. And that means I can get back into NLP for real, because I'll have the framework in place to use it in the day-to-day in meaningful ways. That should pay off pretty well.

So that's kind of the rough situation here at the end of 2015. I've done some pretty solid work this year, even with the sad necessity to earn all that money. And I really think 2016 is where things are going to start to heterodyne.

Update August 2016: So instead we decided to leave Budapest and return to Puerto Rico by way of Bloomington. The result: no heterodynage. Maybe now that things are settling down and we have a new house in Puerto Rico. Of course, the coffee project is now starting to heat up, and that's a radically different kind of work.

Codebase as living organism

Here's an interesting article with a fascinating new metaphor, really two insights: (1) the machine is not the codebase and (2) the codebase can be seen as a living thing. Worth a read.

Friday, November 13, 2015

The next C

So people are actually to the point now where the replacement of C as the ubiquitous system programming language is at least within the limits of plausibility. Here's a Quora post from one of the originators of D identifying three candidates: D, Rust, and Go. Each has strengths, each has weaknesses. I suspect we'll see some convergent evolution.

I like this proliferation of languages of late. Shows the diversity of thought.

Joke generation with Wolfram

Interesting. Not all that fascinating, but any kind of computational handling of language is pretty cool.

Parinfer and typing/understanding Lisp

Now this is the kind of thing I love to see: Parinfer [hnn]. It uses indentation to show structure while inferring paren closure to preserve syntactic validity. You can switch back and forth between inferring parens or inferring indentation. It makes sense. This kind of thing is really exciting to see.

Sunday, November 8, 2015

ChucK

ChucK is a ... well, it's a language just for building music machines, apparently. Also, HNN link for lots of related things, like SuperCollider. I really want to take some time to do this stuff. Someday.

Git book

This might be a good thing to study.

OOSMOS

OOSMOS is an object-oriented threadless concurrency ... thing for C/C++ that can also run in firmware on the Arduino, which is pretty fascinating.

Saturday, November 7, 2015

Geometrical figures

Just a little note for myself here, but Geogebra is probably one of the best ways to manipulate geometrical things right now. We did some diagrams in InkScape for a LaTeX paper, but it really wasn't ideal.

That said, though, PGF and TikZ seem to be the best-practice approach in the LaTeX field (not a graphics editor, but a description language).

Wednesday, November 4, 2015

Deep linguistic learning for email responses

This has been showing up in the usual places (even on my Facebook feed, today) and is good for some toothgrinding as I fervently wish I had more time to work like this.

Tuesday, November 3, 2015

Parsing a command line

You would think this would be easy to find. I've got a string - perhaps taken from a file - that represents a command. I want to parse it into an ARGV-like structure, with proper string quoting and that kind of thing.
That said, I should probably roll my own based on the same parsing tools in Decl::Syntax.

Friday, October 30, 2015

Deep neural network classifies selfies

This is just a cool, well-written article.

rr

So this is cool. The debugger "rr" approaches things from a different perspective from most debuggers. Instead of instrumenting a live, running program, it makes a thorough recording of a full run, which you can then run back and forth through with a debugger. Sounds resource-intensive, but also pretty fantastic - like the author, I hardly ever use a debugger, but even my few times using one have been characterized by shooting past the point where things actually started to go wrong.

FizzBuzz as the illumination of thought about requirements

It's interesting how FizzBuzz has kind of become the go-to program for thinking about software development as a whole. Here's an interesting article from the standpoint of maintainability and understanding the requirements behind the requirements.

Monday, October 26, 2015

Declarative description of financial contracts

This is something moving rather close to a semantic approach. Very interesting.

devd ubersimple command-line HTTP server

Quick testing of web apps.

openCypher

SQL for graph databases, only ... it's still basically vapor. Looks promising, though.

Update 2016-02-18: still unchanged. I'm not holding my breath on this one.

Fuzzing Raft

I'm starting to really enjoy posts about fuzz testing.

Cracking PDF DRM with Clojure

Fun little post.