skysight-inc/HackerNews huggingface dataset:
I fail to see how it can be an acceptable Lisp when it lacks the AOT/JIT compilation as part of the standard toolchain and the development productivity of Common Lisp environments.
I'm glad to see this, and even more interested that it was written in 2005. I've read lots of rants about how awesome Lisp is supposed to be from Paul Graham and Steve Yegge and all. But I never see anything significant being written in it or using it, so I haven't felt all that tempted to try learning it.

Meanwhile, I've been using Ruby for a while, and the metaprogramming capabilities are pretty cool. It sounds a lot like what all of the Lisp enthusiasts are saying is so awesome about Lisp to me. So I've always wondered what it is that's so awesome about Lisp that Ruby doesn't already have.
Author here. Let me explain where this article came from, since people keep digging it up every few years to discuss it. :-)

I spent some time during the late 90s learning all kinds of cool ways to use Lisp, courtesy of a couple Boston startups, including IS Robotics (now better known as iRobot). And I'd helped introduce Scheme to another employer. Scheme made it ridiculously easy to create domain-specific languages, but it was obviously a niche technology.

Around the same time, I'd heard Matz speak to a room full of Lisp hackers at the Lightweight Languages conference. He'd elegantly explained why Ruby was cool several years before Rails became widespread. But I don't think many of us understood what he was saying until later.

When I finally realized—thanks to Rails—that Ruby could mimic many of the most common Lisp metaprogramming tricks, I mentally kicked myself and wrote this blog post. There were a lot of great responses from other bloggers, too. My goal was to help make other people aware of some fun new possibilities.

Anyway, if anybody has any questions, I'll try to answer them later this evening when I'm back online. It's fun to remember when this stuff was so new.
I can think of three high school classes that were great because of the teachers (an English class, a geometry class, and a shop class), and maybe three that were great because of their self-learning nature (my first programming class, an engineering class, and an after-school electronics+engineering class taught by the shop teacher).

For everything else, I've got to agree. Take my US History class. I think it's important to know the events that shaped our culture, know roughly the order they came in, and about when they happened and why. The name and date of a 19th century law involving share croppers? Sure, I'll be able to write an essay on it for the test, because I know that's the requirement, but ask me 6 months later, and I won't be able to tell you much about it.
Biomimetic Architecture in Zimbabwe Modeled After Termite Mounds (2012)
Too add to my previous point, there seams to be a big issue with people with mental issues being locked up in jails, especially in smaller cities. This also includes people with drug addictions. The first judge should have approved the investigation to make sure that the accused is fit for trial. A judge should not be allowed to dictate of the accused is or is not fit. If there is even a hint of a mental issue it needs to be investigated before the trial continues. ALWAYS.
Read Scheme – Resources for Functional Programming
Transhumanism Is Inevitable
Add email capture and use that to communicate with users about new features and ask what they'd like to see added to the game.
The Truth About the Biggest U.S. Sex Trafficking Story of the Year
> I am in favor of free trade and don't find TPP in any real way supports that.

That's his argument.
Yeah, unfortunately my only exposure to owl lisp is wishing that Radamsa wasnt written in it so I could understand/modify radamsa better.

Radamsa is seriously awesome.
You really shouldn't need to be hard rebooting just because you ran out of ram...
did you try a sysrq f (invokes the out of memory killer) first?
If that doesn't work you should at least be able to force a sync and remount read-only before taking it down.
If you have access to a keyboard and the kernel is still responding to sysrq you should never just hard power off without at least trying to regain control of the system.

Some reading if you're not familiar with sysrq:
https://en.wikipedia.org/wiki/Magic_SysRq_key
Depending on your distro you might have to enable it, I believe ubuntu (for some dumb reason) ships with emergency sync as the only command available.

Enabling it should amount to adding: kernel.sysrq=1 to /etc/sysctl.conf on older machines or editing
/etc/sysctl.d/10-magic-sysrq.conf on newer ones.

also if you are running out of ram that often you might want to consider a swap partition. Or if you have one already try setting a more aggressive swapiness value.
Are you sure? IIRC, from Windows 7 onwards XP compatibility was handled with a VM, and I'm fairly confident there's little in the way of Win95 support in Windows 10 (bear in mind Windows 10 is a continuation of the Windows NT line of operating systems, the Win9x operating systems were not in this lineage).

http://lifehacker.com/5245396/set-up-and-use-xp-mode-in-wind...
If you like turn-based strategy games, check out backstabbr.com (web-based Diplomacy).
Their filesystem integration would have been just as seamless without the badging. I admit the badging is a useful feature, and certainly made Dropbox better but by no means is it core to the product.
I don't think it's intended to be a step-by-step guide. More a set of notes in case the author or someone else wants to work on fixing compatibility issues later.
All I see when visiting this page is an infinitely changing background color and ℃. Was this what was intended?

I am on Windows 10 and am using Google Chrome 53.0.2785.101 m (64-bit).
...TCL doesn't have macros, it has fexprs, and uplevel. It also has no effective hygene mechanisms, and unless you want to use regex to parse the tree every time your function fires, you can't do the kinds of code transforms macros can.

Don't get me wrong, TCL is super cool, but it doesn't have quite the same powers as lisp. Although you are correct, it's a better lisp than ruby.
Εύκολα οι μεγάλοι
If it already is accessible to that public, a mere pointer shouldn't be illegal.
Yegge's predictions don't always come through, but he basically predicted Clojure. (The "someone will Thorvalds Arc" bit.)
> That cost is ridiculous to host online PDFs.

Agreed, but: without defending the pricing practices of journals (I don't know much about it, but assume that there's just as much predatory pricing in OA as, if not more than, in traditional journals), if that's all you want, then you can post your PDF on the arXiv for free. The journal purports to add some value—at the very least, it adds the prestige of being published in that journal, which I imagine for many of us is literally the only advantage over the arXiv.
> The most common use of LISP macros is to avoid typing lambda quite so much

LispWorks

CL-USER 1 > (let ((n-macros 0) (n-with-macros 0) (with-macros nil))
(do-all-symbols (s (values n-macros n-with-macros))
(when (macro-function s)
(incf n-macros)
(let ((name (symbol-name s)))
(when (and name
(> (length name) 4)
(string-equal name "WITH" :start1 0 :end1 4))
(incf n-with-macros)
(push s with-macros))))))
1186 ; macros
182 ; with- macros

Note also that

(with-slots (a b)
foo
(+ a b))

is not the same as:

(call-with-slots foo
'(a b)
(lambda (a b) (+ a b)))
Thanks. I hadn't read that one yet (and it did its job - it surprised me). It was only about 1000x better than the article being discussed here in the comments.
You could literally put it in the Bitcoin blockchain. This will be spread among thousands of machines with cryptographic proof.
That's so impressive, not to mention that it actually looks pretty funky. Thanks for the link.
Designing the Sound of Tinder
Not stereotyping the best developers but saying that one who keeps an open mind to new ideas will be a better at what they do. Now, obviously there are limits to what people can do but more exposure is generally better.

C is all well and good (anything can be implemented in C) but one must recognize that higher level languages serve one purpose: to help express certain ideas in a more concise and easier-to-understand way than a lower-level language. It can be very helpful to look at why a particular functional language (just for example) achieves a result, and then implement the same concept in C or even assembly if necessary. But by abstracting the problem into a more simpler one, more complex ideas can be express.

Just look at integrals and derivatives in Math. One could compute derivatives using the difference-quotient but that would make more complex ideas almost impossible to understand. We create rules to help us derive common patterns, then use those to build more powerful ideas in a simpler way.
Previous discussions/submissions:

https://news.ycombinator.com/item?id=11354581 (77 comments)

https://news.ycombinator.com/item?id=11342109 (3 comments)

https://news.ycombinator.com/item?id=11351665 (2 comments)

https://news.ycombinator.com/item?id=11350420 (1 comment)

https://news.ycombinator.com/item?id=11349408 (1 comment)

And other submissions without discussion:

https://news.ycombinator.com/item?id=11689653

https://news.ycombinator.com/item?id=11351826

https://news.ycombinator.com/item?id=11343658

https://news.ycombinator.com/item?id=11343119
That's a little higher than in the US where 1,500 people die each day, with 1/4 the number of people. Perhaps the US and China could cooperate on a project(s) to better treat cancer(s).
PayPal brushes-off request from Palestinian tech firms to access the platform
It has a symbiotic relationship with chanterelle and black trumpet mushrooms.
These Are the Ages You Peak at Everything
Fun game! Where's your traffic coming from? Is it growing rapidly right this instant? If I were you I'd (a) double check the servers aren't going to crash, (b) start pitching as many bloggers and Twitter personalities about it as possible, (c) try to "capture" traffic with prominent links to a Twitter account, forum, mailing list, etc.

For a game like this, if you want it to stay popular for a while, you'll probably want to add more maps, mechanics, and/or rewards for players who keep playing and do well. Skins are a fun and simple idea, as is some sort of persistent score.

You might want to ask the founders at my site for advice, too: https://www.indiehackers.com/forum. I don't think any of them have made money off games specifically, but they might have good insights regardless.
Benn Jordan – That one time I met Obama
Thanks for the No True Scotsman.

No, there is no North American who would refuse lottery winnings because of black magic because both lotteries are ingrained in the culture; and you have to voluntarily opt-in to a lottery in the first place. Plenty of North Americans would refuse free money from a foreign company with unclear or suspicious motives.

There are, however, droves of North Americans who thing that things like homosexuality is an abomination against god. Or who think that babies are sinful before they draw their first breath, and have to be splashed with water or they'll burn forever in hell (baptism is another magic spell). There are places in the US where you are barred from office if you don't have a religion, which suggests that it's a bit more than merely 'giving hope'.

Also, have you never seen footage of the crazy shit that goes on at faith healing events, or heard of people so wrapped up in their religion that they impoverish themselves in fervor? Sometimes these people do so in the hopes of curing ailments that actual medicine would have worked for. I remember talking to someone who used to be into that stuff, and she said that when it failed to heal you, their excuse was that 'you didn't pray hard enough', which of course just made you feel worse.
I don't have the love of CL development environments you do, but yeah, as a schemer, ruby's perf is kind of awful. We've got AOT, JIT, bytecode, and literally decades of research spend making these languages fast, and Ruby doesn't have that, or the hot code loading and quick iteration cycle that makes Lisp/Scheme realtime development so deliciously sweet.

To say nothing of our macro superpowers. But then, CLers still insist on on keeping the shotgun hovering over their foot, and insisting it's the only way to go about writing macros. Syntactic Closures and Implicit Renaming are both pretty cool. You guys should check them out.
I wonder why an article like this is not in a blog or medium or in same place made for articles instead in a source code repo.
No comment (or opinion) on the content of your post but you clearly express an opinion that you put some thought into, no reason for anyone to downvote you. Upvoted to counter it.
It's hard to pinpoint the time when a government slips into being a totalitarian regime.
For a 2005 article, this is totally awesome, as well as that Steve Yegge response. But in 2016, it's hard for me not to get excited about what's seeming like Clojure's upward trajectory into the mainstream and want to jump on board 100%. To paraphrase Rich Hickey, Lisp and immutable functional programming totally rock, and the JVM and Javascript just reach (ClojureScript). As our systems get bigger and more quality is demanded from our software, it'd be so cool if we could get behind this as a standard, in all the growing technology fields -- web and mobile (Om.next for React and React Native), big data, AI/machine learning, Dockerization/containerization and even decentralized stuff (Pelle Braendgaard's Cloth library for Ethereum is a start, and I was just talking with some awesome people in the Clojure Slack channel working on Boot tasks for IPFS, and soon the Golem Network project will be launched which will be super dope). Hell, even designers can start designing in Clojure now. It's just Simple, and as the community grows, rallying behind it is only going to get Easier. People were raving with React Native about how JavaScript developers could now all the sudden start coding mobile apps. How cool would it be if there was just one awesome language, the one true immutable functional Lisp, where everybody in tech could understand each other and collaborate? I genuinely think this is Lisp's revenge (shoutout David Nolen!).

It's been tough for me as a new developer to learn this stuff without nearly as many resources as there are in the Python and Ruby communities for beginners, but there's no question this is the (near-term) future. Plus, a lot of that stuff just complects everything anyways and doesn't have to apply anymore (read: mutable state, no Value on Values).

Let's keep it Lispy. ;)
I don't believe there is a fair wage for someone who is compelled to work not of their own choosing.

As to the idea of prison labor, there can be no revenue (not simply profit) from the prison system that is just. Society should pay a burden to separate those within itself from the rest. Any attempts to recoup costs (let alone profit) fall prey to a perverse incentive to keep prisoners longer than is absolutely necessary for the well-being of the Society.

I don't think we currently care about the well-being of Society, at least judged by how we treat prisoners. Our system of justice, at least in the United States, seeks punishment instead of rehabilitation.
Is this post just an ad?
Agreed. Python has also pushed the mantra: "There should be one-- and preferably only one --obvious way to do it".

Don't get me wrong, I love lisp, but it gives you the power to essentially create your own domain-specific language. A power that comes with both positive and negative side effects depending on the situation.
Captured: Systemic Bias at the U.S. Copyright Office [pdf]
My Dropbox story: after I upgraded from Mountain Lion to El Capitan, the sidebar in the Finder went buggy (no way to remove a folder from the sidebar without restarting the Finder). After I started arranging for this next command line to run at the start of every OSX session, the bug went away: `killall -9 garcon`. This garcon identifies itself in Activity Monitor as "Dropbox Finder Integration".

Needless to say, I never asked or gave consent for Dropbox to integrate with the Finder (and sync still seems to continue to work after I disabled it).
Isn't this similar to the idea of triplebyte?
Show HN: Vici – Your webhook robot
The battle between Tesla and your neighborhood car dealership
Since it's Colin himself posting this, I guess that he linked to where he intended; but, if you're interested in this article, then you may want to look at more of "Mathematics Today", the publication in which this article appears: http://www.ima.org.uk/activities/publications/mathematics_to... .
There are certainly states where the psychlogical capability to do things is decreased. If we look at a clinical case of willpower depletion we are looking at depression or other depilitating condition. People at this stage often explain their state that they have only a limited amount of units of action per day after which they cannot psychologically function, and must recharge. This is not normal state by any means, but the implications, IMO, are clear - there is a spectrum of willpower-or-similar-mental-resource available to people. At the other end are the clinically depressed with very little - the question then remains, is, how far this resource stretches on a healthy person and what are the individual differences.
The biggest surprises from living in a simulated Martian habitat for a full year
Made me recall this investigate report from AlJazeera where they get a chef to prepare fake noodles [1]. They compare the arduous process of producing genuine soup versus the instant recipe made possible with several banned additives which reproduce a similar taste and texture .

[1] http://www.aljazeera.com/programmes/101east/2014/08/food-tho...
Thanks! It is growing rapidly. Servers have been crashing, and I just put some load-balancing measure in the place.

Thanks for the tips! I'll be sure to check the site out too.
Why do you believe a blog is any more suitable than a GitHub repository? If anything I probably prefer the GH repo since it's less likely to be click bait designed to drive views to some guys blog for the purpose of self promotion BS.
This goes to show how much of an Apple apologist Josh Gruber is in defending the removal of the headphone jack. People need to realise that not all deductions by Apple were accepted with open arms (remember the buttonless iPod Shuffle) and I feel there might be a 50% chance that this is not the end of the headphone jack on iDevices.

I certainly think that there's courage in what Apple's doing; it's just not not the courage that Phil Schiller described it as the courage to move forward. It's more the courage to test the limits of the goodwill/fanaticism that Apple has built over the last decade of true innovation to force an even more locked down ecosystem that keeps users from never switching away. If Apple were truly courageous for technology's sake, they would have adopted an open standard like USB-C or make Lightning an open standard and drop the ridiculous royalty fees and MFi process associated with it. That is the courage to do what's right with out profits in mind.
This is a pretty bad article. The part that makes Lisp unique is hardly lambdas (every language has them, even Javascript), or being functional, but rather stuff like homoiconicity (and therefore macros). And once one scrolls down to that part, it's full of ignorant statements like "the most common use of LISP macros is to avoid typing lambda quite so much". It demonstrates a fundamental misunderstanding of macros, because they're executed at the compilation step, before the program is run. It's a zero-cost abstraction (wrt performance). Not that anyone writing in Ruby cares about that.

Look at this example from the article:

(defmacro with-each-natural-number (n expr)
`(each-natural-number (lambda (,n) ,expr)))

It assumes that the programmer already wrote a function each-natural-number that does the required functionality when another function is passed into it. That's the Ruby way, because it only has functions, not macros. A good Lisp programmer would never write such inefficient code. Why create a local function here when you can easily write a macro that expands into a loop with expr as its body?

So, indeed, if you write in Lisp as if it were Ruby, then Ruby is an acceptable Lisp. If you write in Lisp as it's supposed to be written, then Ruby is ridiculously restrictive, and slow.
nope. looking for an advice. growth is the least of my problem at the moment: https://bboymode.wordpress.com/2016/09/10/growth-spurts/
Which honestly if you want a block-style Lisp, basically you're asking for Ruby. And the differences between Ruby and Python IMO aren't that big.

Edit: Heh, just realized there is another article on the front page arguing this.
Github seemed like an easy place to put the markdown.

I didn't see a real benefit to sticking it somewhere else, why do you think that is more desirable?
I'm referring to the operational semantics[1]. This doesn't require any tacit knowledge to fix the language past what the horizontal line and definitional equality symbols mean (it's entirely in the form of purely syntactic "given this, you can write this"), but it won't be remotely helpful to teach you what the syntax reductions mean or how to use them. If you're never heard of lambdas, you could technically still "use" them in the sense a computer can, but good luck figuring out that they represent functions. It wouldn't fit any sensible definition of "understanding".

My point isn't that these things are easy to learn because their presentations are so brief; personally, dependent typing took me a long time for me to wrap my head around. What I think the briefness of the operational semantics in combination with the examples of things people have built within them suggest is that they're very versatile. Even if only people working on language level features bother to learn them, the utility of their creations (all without needing to move to another language or introduce possibly incompatible extensions) is a huge asset.

[1]: https://en.wikipedia.org/wiki/Operational_semantics
15 Years Later: on the physics of high-rise building collapses [pdf]
You don't need an objective measure. An approximate one is already better than just "optimising for human happiness".

And I guess you do what I proposed already anyways: The suffering of a dog or a horse is probably also - to some extent - your concern. The suffering of a piece of rock probably less so. Should we learn that rocks can feel pain, too (granted this is unlikely), we should update our morality. It's also part of most countries' laws to prevent unnecessary suffering of animals. And this is all based on the assumed degree to which they are able to suffer. You will get fined for torturing a dog; you won't for torturing a mosquito.

Careful - fancy thoughts: I could imagine that we will update our morality regarding plants one day (given that we see more and more evidence that they communicate with each other, send stress signals etc.).
The Business Boy
FWIW Elixir has first class macros that go way beyond Ruby's metaprogramming, so you may want to try that.
> Turing’s solution? Types!

>> [Quoting Turing] We shall need a number of efficient librarian types to keep us in order.

Uh... I think "librarian types" means "people who think like librarians". It's a common colloquialism in some places: you have your entrepreneur types, your manager types, your artist types, and your librarian types.
I can't say I'm familiar with lisp, but I have had long conversations about it with a few friends who are enthusiastic about it's use.

I thought of lisp after making this and thought it would be nice to build some python abstractions that can make this feel a little more usable. For the moment it does seem challenging, and I agree it will likely never be as simple as lisp.