Hacker News new | past | comments | ask | show | jobs | submit | more jackdaniel's comments login

Copyright was a moral right until 3 or 4 years ago, now AI training is the moral right. /s

Sarcasm aside, this take is very disappointing. People leverage copyright for many purposes - copyleft, recognition, exclusiveness and many more.


Copyright is an immoral restriction on the general public. Recognition can be achieved via... moral rights, copyleft can be achieved via copyright abolition, and exclusiveness is not something to strive for in a world of abundance.


Copyleft isn't achieved by copyright abolition though. Abolish copyright and the AGPL is literally impossible rather than merely impractical to enforce, but OpenAI/Microsoft still get to decide who gets access to their model.


Copyright was not an immoral restriction on the general public until Meh Valley noticed more bucks in LLMs. I agree that copyright is very much broken for various reasons, and the Public Domain day is a day of celebration for me.

Having that in mind it is an irony that such broken law is the only thing that stands in a way of automatic and unattributed exploitation of people effort at scale. And it stands only on one leg at that :)


Technically firing CEO was also at the board's discretion, so I'm dubious whether that means anything at this point.


CLIM - Common Lisp Interface Manager - it is a specification of numerous protocols (partially) derived from Genera's Dynamic Windows. In 2000s Mike McDonald decided to write a free CLIM implementation and named it McDonald's Common Lisp Interface Manager, hence McCLIM.


ah hah -- makes perfect sense... Thank you! :-)


While I disagree with your opinion, I appreciate a lot that you've stated it. That's a very honest thing to say.


>I appreciate a lot that you've stated it

Well, from an anonymous account, it means jack. Bull, even.


People often lie not only to others, but also to themselves. Also I don't see a problem with somewhat controversial takes from anonymous accounts; given today's internet opposite would be brave/stupid.


Is it that you morally disagree (I agree that it is a poor reward for doing me a service) or you have a disagreement about why society punishes whistleblowers?


I disagree with equating whistleblowering and snitching. We all have dirty secrets, but let's loosely say that the scale matters.

It is a different story when coworker tells "boss" who is lazying around, and a different story when someone reports a serious misconduct towards other people. I'm not sure how to phrase it clearly, but generally I would not associate myself with former people, but I wouldn't mind the latter. Maybe one day they'd prevent me from doing something really terrible (given I wouldn't know better).


Possibly a fundamentally different outlook? I would trust a whistleblower, but I would have difficulty trusting a person who would cover up serious crimes for an employer. Most employers, by the way, actually do not want it covered up when one of their departments is Doing Crime.

(In particular if you're in, say, finance, or a safety-critical industry, you are not going to want to hire someone who has a known track record of failing to report crimes. I mean, unless you're, like, FTX or someone.)


ECL runs on wasm via Emscripten.


Sorry, off topic, but recently I tried using ECL as my daily driver after I setup Emacs and Slime to use it. It was fine for dev as well as deployment. I did go back to using SBCL and LispWorks after this experiment was over.

There is a rich ecosystem of CL implementations. I don’t use it much at all, but ABCL is really interesting also if you work on the JVM.


Thanks for asking! You may edit the legacy function implementation. These shenanigans are done to enable providing a new protocol that spans two different set of functions in a way that is a) backward compatible, b) forward compatible.

Say you have functions A and B that do roughly the same, so you refactor them into a function C and then redefine A() { C(); } B() { C(); }. So far good. But if B() is part of the API, some client could have defined auxiliary methods on B - normally they won't be called when C() is invoked directly. Moreover imagine that C() is also now part of the API and some new client could have defined auxiliary methods on C() - normally they won't be called when B() is invoked directly.

So either you need to specify that the old API is obsolete (so old programs doesn't work), or abandon the idea of exporting the new API. With a proxy generic function you may retain the old API and the new API at the same time without further duplicating functionality.


That's why the support is "preliminary". I plan to write some compelling examples for the emscripten target. Here is a "raw" build that shows repl (on some browsers results of evaluation show in the javascript console): http://turtleware.eu/static/ecl/ecl.html -- this is a little older build, but following instructions in INSTALL will get you to the same place.


Thanks! I think that the number of changes between ECL and MKCL is quite big. ECL had a short break in development between 2013 and 2015, other than that it is an actively developed project.


currently there is not build flag to statically link libc manually (it is planned though). Regarding startup time, it all comes to ASDF:

$ time ecl --eval "(quit)"

0.052 secs

$ time ecl --eval "(require 'asdf)" --eval "(quit)"

;;; Loading #P".../lib64/ecl-21.2.1/asdf.fas"

0.301 secs


> it is planned though

This is a bad plan for target systems that use glibc, because static linking is not recommended and not supported.


it is planned to allow static linking against libc, not necessarily glibc (I've been thinking about musl). Dynamic linking is still a default, but different strokes for different folks I guess.


That's super-interesting, thank you for sharing :)


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: