Live data from Hacker News

I’ve Consed Every Pair

medium.com

141–150 of 228 posts

Re: I’ve Consed Every Pair

#141

Can someone explain what this means? What is this "consed" he is talking about? I'm a c++ programmer, "consed every pair" means nothing to me.

Cons cells are the traditional Lisp data structure making up the nodes of a linked list. It comes from the cons function which is short for "construct". Ironically, Clojure doesn't use cons cells, although it does have a cons function.

Additionally, "to cons" more broadly means "to allocate memory".

Re: I’ve Consed Every Pair

#144

> While that is a sentiment with which I can wholeheartedly agree, ... ... (since, ya know, I rewrote a Lisp book to make it about Python, so if I said what I really think, there would be no end to the crow I'd have to eat), but anyway ...

Peter Norvig explained why he came to Python from Lisp in an HN posting a decade ago: https://news.ycombinator.com/item?id=1803815 >norvig on Oct 18, 2010 | parent | favorite | on: Ask PG: Lisp vs Python (2010) >Peter Norvig here. I came to Python not because I thought it was a better/acceptable/pragmatic Lisp, but because it was better pseudocode. Several students claimed that they had a hard time mapping from the p…

So basically a race to the bottom in order to communicate with the ALGOL intolerant fanatics.

Re: I’ve Consed Every Pair

#145

I'll admit I don't think I've really noticed the presence of lisp online other than when people want to talk about lisp. Can someone share some practical examples of where lisp is being used? Maybe a popular open source project I never realised was written in a lisp family language?

GDB and GIMP both embed a Scheme interpreter.

Also TeXmacs and Guix. Basically most of the GNU software are based on Guile Scheme for extensions.

Re: I’ve Consed Every Pair

#146

Earlier quoted context omitted.

GDB and GIMP both embed a Scheme interpreter.

Also TeXmacs and Guix. Basically most of the GNU software are based on Guile Scheme for extensions.

For sure. But most people in technology, and even a large number of people adjacent, know of GDB and GIMP so I always use those as my examples of "lisp in the real world".

Re: I’ve Consed Every Pair

#148
Peter tech-reviewed the second edition of my Java AI book and made the comment that Java was half as good as Common Lisp for AI and that was probably good enough (we had both written Common Lisp books). He then went to Google and I had lunch with him; I was surprised that he was using Python.

I like his poem in the article!

A little off topic, but I retired (that is a bit of a joke) and at the age of 69, this year I decided that for maximum programming enjoyment I would only use Lisp languages (linking in Python and TensorFlow on occasion). I am approaching 40 years using Common Lisp and using the language is so much fun. I bought a license for LispWorks and using it for developing a semantic web app.

Re: I’ve Consed Every Pair

#149

I tried writing some of my own verses for this song, but I couldn't think of anything that rhymed with RPLACA and CDADAADR. Speaking of consing every pair, here's a previous discussion about "The Origin of CAR and CDR in Lisp (2005) (iwriteiam.nl)": https://news.ycombinator.com/item?id=16008239 http://www.iwriteiam.nl/HaCAR_CDR.html

Alpaca, Mattered

Alter kaker, coulda mattered

Re: I’ve Consed Every Pair

#150
post #36

Earlier quoted context omitted.

My account was reset. I've been around since day two. :) You're right, it has some downfalls. But a lot of the time it simply doesn't matter. All the links at https://www.tensorfork.com/tpus are dynamic, and the speed you gain by being able to whip up a feature in 10 minutes is worth the pain of an occasional dead link. On the other hand, I did some work for "deduplicating fnids": http://arclanguage.com/item?id=20996…

the speed you gain by being able to whip up a feature in 10 minutes is worth the pain of an occasional dead link This is everything that is wrong with the software industry, summarized in one sentence. Speed gain enjoyed by developers is paid for by the users in pain. It used to be that developers would go through tremendous amounts of pain just to squeeze out a few instructions from a UI drawing routine in order to…

Yup. I somehow became a graybeard. I really didn't fit in at my last three gigs doing "backend" work.

I always play to win, so try to understand why & how I failed.

My current theory:

I had good successes doing product development. Shipping software that had to be pretty close to correct.

Today's "product development" is really IT, data processing. Way more forgiving of stuff that's not quite right. Often not even close to right. (Guessing that about 1/3rd of the stuff I supported didn't actually do what the original author thought it did, and no one was the wiser, until something didn't seem quite right.)

One insightful coworker said it best: "I learned to do everything to 80% completion."

My observation is that most team mates created more bugs than they closed. Maybe incentivized by the "agile" methods notions of "velocity". And they were praised for their poor results.

Whereas my tortoise strategies nominally took longer. So I had fewer, larger commits. Way fewer "points" on the kanban board. Created much fewer lines of code.

(When fixing [rewriting] other people's code, mine was often 50% to 80% smaller. Mostly by removing dead code and deduplication.)

I was able to bang out new stuff and beat deadlines when I was working solo.

I think the difference between solo and team play is mostly due to style mismatches. It's very hard for me to collaborate with teammates who are committing smaller, more frequent, often broken, code changes.

Any way. That's my current best guess at what's happening to this graybeard.

More optimistically...

I'm very interested in the "Test Into Prod" strategies advocated by the CTO from Gilt (?). It's the first QA/Test strategy (for an "agile" world") that makes any kind of sense to me. So I think I could adapt to that work style.

(I served as SQA Manager for a while. It's hard to let go of those expectations. It's been maybe 20 years since I've seen anyone doing actual QA/Test. I feel bad for today's business analysts (BAs) who get stuck doing requirements and monkey style button pushing. Like how most orgs functioned in the 80s.)

Post reply on HN