jgw

Joined 15 years ago

Karma
664
Submissions
152
Member since
Dec 2
ASIC guy. Lisp guy.
View on Hacker News

Recent submissions

Comment · 10 years ago
"I see what you did there," as they say elsewhere on the Internet.

Nifty little device to make a an important point.

Comment · 10 years ago
I was told that the inventor came up with the idea while at the theatre with his wife. As the spotlights converged on a performer, the idea sprung to mind, and he yelped "I've got it!"

Quite possibly embellished, but plausible that should be the inspiration.

Comment · 10 years ago
Comment · 10 years ago
Clever and artful, with a little nostalgia thrown in.

1993 was the year I started my undergrad and would not see a "web browser" until the following year. It's nice to re-capture a little of the spirit of what computing was like back then.

Tip: Be sure to click on the virus and after what happens happens, fling the icons around. Moments of mindless fun.

Comment · 10 years ago
Indeed it is - Fahlman worked with Steel et. al. on Common Lisp.

Other notable folks I recognized in the thread:

* Dave Touretzky - author of a well-regarded Lisp textbook in its day

* Masaru Tomita - the guy who invented the GLR parser

Comment · 10 years ago
Of course, Fahlman is a Lisper, so of course he's going to use parens... ;)
Comment · 10 years ago
It makes me a bit of a luddite (and a heck of a curmudgeon), but it always makes me a little sad when good ol' ASCII smileys are rendered all fancy-like. There's something charming and hackerish about showing it as a 7-bit glyph.

I think the Internet fundamentally changed when that happened.

Tangentially-related, I can't fathom why someone would post YouTube videos of `telnet towel.blinkenlights.nl`.

Comment · 10 years ago
See first 25 entries or so in the permuted CL symbol index:

http://www.lispworks.com/documentation/lw51/CLHS/Front/X_Per...

Scheme does use ?, and you can in CL if you really want. But CL reserves ? as a programmable reader macro [1]. It is often used, for example, to designate a stand-in domain variable designation in, say an embedded Prolog.

Another reason that CL avoids the "?" convention is that it's "unpronounceable" [2]. CL is the only language spec I've seen that discusses pronunciation; they actually gave thought to how programmers might converse about their code unambiguously [3]. Another manifestation of this is CL's sort-of case-insensitivity [4].

--

[1] The other reserved characters are !, [ ], and { }

[2] Although at least one wag suggested pronouncing it as "eh?", like a good Canadian.

[3] CLtL2 provides quite a bit of this. My fav is a brief excursion into how some hackers pronounce "macrolet" to rhyme with Chevrolet. :)

[4] This is not actually the case, but appears to be true to new Lispers, until they understand that by default, the reader converts everything to upcase.

Comment · 10 years ago
I really like:

  "A bad arrangement is better than a process."
I might surreptitiously slip that into the next coding style guide I come across.
Comment · 10 years ago
Re: "owe nothing to it", I respectfully disagree.

Canadians at Waterloo enjoy a heavily subsidized world-class education, at the tax-payer's expense, then leave to contribute nothing to the economy that produced them.

Interestingly, some also come back later in life to enjoy subsidized health care to which they've also never contributed.

I wonder if there's a way to structure post-secondary education subsidies as a sort of debt that you can pay off by either remaining employed in Canada, or in cash if you decide to leave.

Disclosure: UW Comp Eng '98 grad, still in Canada.

Comment · 10 years ago
No, I don't think you're seeing the proposed attack here. As I understand it:

1. A company tapes out their chip to be fabbed, as most chips are, off-shore. The design is clean.

2. The backdoor is added after it is out of the company's hands -- say, by the fab. A single register and some wiring are not that difficult to add by hand to the design masks -- effectively, it's just an ECO.

Post tape-out tampering is a mounting concern for our clients. [EDIT: I work for an ASIC Design & Verification consultancy]

Comment · 10 years ago
Do you know if they run on 6502s and other Western chips of the time? Were they cloned, or imported? Or were there Soviet ISA's?

I remember reading years ago about how Russian computer scientists in the cold war were more honed in algorithm design, because they basically had to squeeze as much as they could out of their processors to compete with faster Western hardware.

Comment · 10 years ago
I think that's true. I think I'd formulate it more broadly as, "In our interaction, I'm vaguely aware that there's some sort of subtext that I don't understand, but is very important to you, or is even your main objective."

In the study, I'm glad that clowns are finally being called out!

Comment · 10 years ago
Bit late replying to this, so I hope you see it, but as I noted elsewhere, the key here is something called a "reader macro". This is a mechanism by which you can control the behaviour of the Lisp reader (i.e., the READ function), and occurs before regular macroexpansion. I use [] to denote s-expressions in the embedded-language domain, and {} to introduce native syntax, which passes its contents through to an actual parser - which returns s-expressions. I can print the resulting forms in native syntax, embedded-s-expressions, or plain Lisp. It's a neat demonstration of the superficiality of syntax.

Perhaps another interesting observation is that what I'm building today is not actually what I originally set out to do, which was more limited in scope. Perhaps another weakness of CL is its tendency to seduce you into feature-creepism. :)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton