Smoking Meat

I got one of these things for Christmas from my wife’s family secret santa: The way this thing works is pretty interesting. At the bottom are some coals. You put wood on those coals, and they smoke. At the top is your food. In between is a bowl of water. The water acts as a moderator for temperature and as a humidifier. So I’ve now smoked meat on this thing twice, in the dead of winter. »

Daniel K Lyons

What is Reification?

1. Reification in RDF 2. Reification in object-oriented terms Reification is a concept that gets realized in programming in a handful of different ways. 1. Reification in RDF In RDF, reification takes claims like “John is a tool” and adds in the contextual information about who is making the claim, turning them into claims like “Dave says John is a tool. »

Daniel K Lyons

Functions to Delay Binding

In the previous article, the discussion of lambda calculus is a bit misleading. We’re not using lambda calculus terms as the intermediate representation. We’re being inspired by the lambda calculus and aping it as a mechanism for propagating information around in the intermediate representation. In Python, using the SQLAlchemy, you can construct conditions by using expressions like Users.t.name == 'bob'. The object in Users.t.name is some kind of column type, and it overloads __eq__ in such a way that when you evaluate it against ‘bob’, rather than returning a boolean truth value, it returns some kind of filter expression object. »

Daniel K Lyons

Phrases as Functions

Parsing simple sentences in Prolog, you get grammars that look kind of like this: sentence --> np, vp. np --> pronoun. np --> noun. vp --> iv. vp --> tv. pronoun --> [i]. noun --> [cheese]. iv --> [sit]. tv --> [like], np. Now with this, it’s possible to parse sentences as complex and interesting as “i like cheese” or “i sit”. Wow! Except, just accepting them is not very interesting: »

Daniel K Lyons

Exuberantly, Arrogantly Useless

Earlier tonight I was accosted by a stranger for failing to finish the excellent book Software Foundations: I think whoever recommended it to you had a common, bad idea… burnout with nothing to show Hear that Tyler? That time you alighted on a branch with cloudstuff in your beak and illuminated us, tugging on the golden thread separating meaning and method, brought down the lambda calculus, gave us all the Formal Languages curriculum our professor wouldn’t dare and couldn’t dream—apparently you had a bad idea and that’s why all your students “burned out with nothing to show for it. »

Daniel K Lyons

APL Symbol Fetishism

All other things being equal (they’re not, but let’s pretend), APL will always have a cult of appreciation because it represents really the only time programming has said “we need our own alphabet.” But I don’t think APL symbols are really that evocative. Where does ⍳ come from? It looks kind of like a little i—it’s the index function, after all. i. seems just as legitimate and I can type that. »

Daniel K Lyons

Prolog's Eternal September

I realized recently that the way I have been handling answers to Prolog questions on Stack Overflow contravenes the rules. I don’t mind ignoring rules if it serves a higher purpose, but I have also come to realize that it actually is counterproductive. There is a constant flow of pre-beginner questions about Prolog on Stack Overflow. The questions I’m referring to typically sound like this: “my professor said a few incoherent things about Prolog and here’s my assignment and I don’t know where to start. »

Daniel K Lyons

Why I'm not especially interested in machine learning

1. It’s not going to put me out of a job 2. Machine learning is not creative 3. More random failure is not a feature 4. ML is painstakingly squeezing the last drop of profit out of a failing business model 5. ML squeezes the last drop from the lemon 6. Something else is going to end the profession of programming first Conclusion Every time I’ve spoken with someone about programming in the last month or so, machine learning or artificial intelligence has come up. »

Daniel K Lyons

Next Generation Unix Tools

Here’s some Unix tools everybody should know about. They’re third-party and not especially well-known. fish fish - the friendly interactive shell “Finally, a shell for the 90s” is a great tag line. For a long time we have sort of had to decide if we wanted a better programming experience or a better interactive experience with the shell. Fish has a very nice programming language, but the ooh-ahh factor is definitely the command line. »

Daniel K Lyons

Cook Ting

Who is your hero? Mine is Cook Ting. Cook Ting laid down his knife and [said], “What I care about is the Way, which goes beyond skill. When I first began cutting up oxen, all I could see was the ox itself. After three years I no longer saw the whole ox. And now—now I go at it by spirit and don’t look with my eyes. Perception and understanding have come to a stop and spirit moves where it wants. »

Daniel K Lyons