HNHacker News
TopNewBestAskShowJobs

gigamonkey

299 karma · joined August 9, 2009

submissionscomments
gigamonkey··on Practical Common Lisp (2005)
Hey, thanks everyone for your kind comments on the book. Kinda amazing that we're only a few years away from it's 20th anniversary. -Peter
gigamonkey··on Practical Common Lisp (2005)
Totally. I had been thinking about writing a Haskell book but it seems that space is maybe well covered lately.
gigamonkey··on Practical Common Lisp (2005)
Well, these days I'm working at Twitter on our abuse problem. So that keeps me pretty busy. I did write another book, Coders at Work, a book of interviews with notable programmers.

I kind of suspect that if I write another book (as I hope to) that I'll continue along the trajectory from pure technical (PCL) to semi-technical (Coders) to something that might reach an even more general audience.

gigamonkey··on Practical Common Lisp (2005)
I plan to. Some day.
gigamonkey··on Lisp Hackers: Peter Seibel
As I think I mentioned in the interview, I've found that if I do this, by the time I'm done with my rewrite, I actually understand the original code too. So if I had to, I could throw away my new (better?) code and still benefit from a better understanding of the original code.
gigamonkey··on Beyond Exception Handling: Conditions and Restarts
I believe Mesa did. On the other hand, Stroustrup claims (in the Design and Evolution of C++, I think) that the Cedar system written in Mesa basically never used the ability to restart as a reason why C++ doesn't have continuable exceptions. I've never been able to track down more information about that than his claim though.
gigamonkey··on A Brief Rant on the Future of Interaction Design
You should check out the book The Myth of the Paperless Office. They report research where they gave folks tasks like writing a summary of several magazine articles and one group did it all on a computer and the other did it on paper and they watched how people actually worked. There was a lot of subtle physical interactions in the paper group, such as moving different articles closer and farther away on the table that the computer group tried to do analogues of and failed because of the limitations of the medium. So it's not just the eyes and ears.
gigamonkey··on The problem with Amazon's Kindle Owners' Lending Library
Of course in this case Amazon is in the middle, right? Suppose publishers demand to be paid by usage. Amazon can still charge their customers a flat fee--it just moves the risk of mis-setting the flat fee onto Amazon rather than the publishers.

Also, consider the incentives that a flat fee system sets up for publishers and writers: if you get paid per title rather than per reader, you're motivated to flood the market with books not to try to write a few really good books that lots of folks want to read.

gigamonkey··on The Jobs book
By "source materials" presumably he means the raw transcripts of the interviews, etc. Which doesn't seem too likely but it's at least possible.
gigamonkey··on End of the line for Code Quarterly
Indeed, if you are interested in exploring interesting ways of publishing stuff with great design, get in touch with Adam; he's awesome.
gigamonkey··on End of the line for Code Quarterly
Part of the problem may have been that I was coming more from a perspective of book publishing--the original idea was that CQ articles would be more like short books rather than long blog posts. And books you are paid by quarterly royalties. In fact, my payment scheme was pretty much identical to the Pragmatic Bookshelf model except that a given piece might be appear in multiple places--an issue of CQ, a collection of related articles, etc.

But maybe I didn't make that clear or maybe that made it even harder to find writers since it's more challenging to write long than short. (I did adjust back from my original idea of very long pieces but that didn't make enough difference.)

gigamonkey··on SICP is Under Attack
I don't know what, if anything, is going on at Berkeley, but Hal Abelson talked quite a bit about the switch from SICP to a different intro course at MIT when I interviewed him for Code Quarterly http://www.codequarterly.com/2011/hal-abelson/ and it wasn't about abandoning Scheme or "not teaching core computer science". (Well, maybe a bit less core computer science in the intro course but that was basically so that CS people could have more time later for CS without all that annoying EE stuff. And vice versa.)
gigamonkey··on Making Code Easy to Understand – What Developers Want (a study)
But would a test case be a good example of using the code? As in, good for the purpose of understanding the code.
gigamonkey··on CSS Lint
I'm curious what folks do who follow the no-qualified-headers rule. When they have things that act like headers but which need to be styled differently than the single header style used on the site, do they just use classed P's or DIV's? Confused.
gigamonkey··on Why do C++ folks make things so complicated?
But you can tolerate ref counting pauses? (When you release the last reference to the last object keeping a large tree of objects alive and have a lengthy cascade of objects being freed.)
gigamonkey··on Code Quarterly's Interview with Rich Hickey
Haven't gotten around to it yet. Definitely on the list.
gigamonkey··on Could Bill Gates write code?
Another similar story, from my interview with Guy Steele in Coders at Work:

This may seem like a terrible waste of my effort, but one of the most satisfying moments in my career was when I realized that I had found a way to shave one word off an 11-word program that Gosper had written. It was at the expense of a very small amount of execution time, measured in fractions of a machine cycle, but I actually found a way to shorten his code by 1 word and it had only taken me 20 years to do it.

Seibel: So 20 years later you said, “Hey Bill, guess what?”

Steele: It wasn’t that I spent 20 years doing it, but suddenly after 20 years I came back and looked at it again and suddenly had an insight I hadn’t had before: I realized that by changing one of the op codes, it would also be a floating point constant close enough to what I wanted, so I could use the instruction both as an instruction and as a floating point constant.

Seibel: That’s straight out of “The Story of Mel, a Real Programmer.”

Steele: Yeah, exactly. It was one of those things. And, no, I wouldn’t want to do it in real life, but it was the only time I’d managed to reduce some of Gosper’s code. It felt like a real victory. And it was a beautiful piece of code. It was a recursive subroutine for computing sines and cosines.

So that’s the kind of thing we worried about back then.

gigamonkey··on Steve Yegge v. Rich Hickey re: "Clojure just needs to start saying Yes"
According to Ken Thompson, yes:

"Stroustrup campaigned for years and years and years, way beyond any sort of technical contributions he made to the language, to get it adopted and used. And he sort of ran all the standards committees with a whip and a chair. And he said 'no' to no one. He put every feature in that language that ever existed. It wasn’t cleanly designed—it was just the union of everything that came along. And I think it suffered drastically from that." (from Coders at Work)

gigamonkey··on Optimizing Lisp Some More
Last I knew, CLISP was based on a bytecode VM while SBCL and Clozure generate machine code. I think there may be some work on adding a JIT to CLISP but as far as I know it's still experimental.
gigamonkey··on A Non-Programmer’s Apology
> He has never taken a non-academic job in his life;

That's not quite right. He did at least consulting work outside of academia. As I quote him in Coders at Work: "For example, some of the best work I did for Burroughs Corporation was to debug their hardware designs. Their engineers would show me the specs for their computer and I would look at it and I would try to construct examples where they would be off by 1 or something. I got more than 200 bugs out of their B-5000–series machines before they went into production, although it had passed the simulators."

gigamonkey··on Everything You Know About Fitness is a Lie
I'm pretty sure this is false. As I understand it hunters and gatherers lived about as long as we do. It was only with the invention of agriculture and the kind of societies (and diseases) it enabled, that our average lifespan took a nosedive which we are pulling out of now, thanks to modern medicine.
gigamonkey··on Dog learns over 1,000 words
Uh, they use beagles for sniffing for all kinds of things: drugs, bombs, even termites.

That said, German Shepherds are an interesting case because, as I understand it, their breed standard is actually a behavioral standard: they have to be able to perform a certain level of obedience, tracking, and bite work (think big leather gloves) to get papers.

gigamonkey··on You Should Self-Publish
Interesting. I've written two books for Apress and got essentially zero editorial help from them. A handful of writers I've talked to published by other tech publishers reported similar experiences to mine. Glad to hear they're doing something for somebody. But would-be authors should be aware that going with a traditional publisher isn't necessarily going to mean working with an experienced editor to craft your book.
gigamonkey··on CAR, CDR, and Lisp...
Regarding the "hunks" he mentioned, here's what Guy Steele had to say about them when I interviewed him for Coders at Work: "I implemented a new data type called a 'hunk,' which was probably the biggest disaster in language design we ever put in. It was essentially a cons cell with more than two pointers. It was a desperation move because we were running out of address space on the PDP-10. Recall that the -10 only had an 18-bit address space. In a list, 50 percent of the pointers were dedicated to just maintaining the structure of the list, whereas with a threaded set of hunks, maybe only one-eighth of the pointers were dedicated to the threading of the chunks so you’d get better memory usage that way."
gigamonkey··on Ask PG: Lisp vs Python (2010)
I've had a similar experience, lately while writing and editing pieces for Code Quarterly--I've written the same basic algorithms in Javascript, Python, and Common Lisp to play around with them. I find the Python the best vehicle for conveying the algorithms despite being more fluent in Common Lisp.

But I've also been astounded at how slow CPython is compared to SBCL (the Common Lisp implementation I use) when I have to do long runs to gather data. (For the things I've been playing around with, my Common Lisp implementations have been something like 5 to 20 times faster.)

gigamonkey··on Announcing the inaugural Code Quarterly Code Challenge
Yeah. I'm not crazy about the XML thing either (as I noted in a footnote) but all we're using it for is a trivial way to dump an AST that's easy to specify.
gigamonkey··on The Pen Gets Mightier
I could imagine this being useful for journalism--you're interviewing someone and recording the whole thing but taking notes about particularly interesting bits. Now it's easy to jump from the notes to the audio recording.
gigamonkey··on Write for Code Quarterly (Peter Seibel's new "Hackademic Journal")
Did you enter an email address? (And possibly leave the field after you've entered it?)
gigamonkey··on Code Quarterly -- The Hackademic Journal
Did you enter an email address?
gigamonkey··on Coders at work is finally available
Actually that's the only choice. I'm not sure why Amazon lists it as hardcover. Presumably they'll get that straightened out one of these days.
Page 1 of 2Next →