.kkrieger
In mourning for Nano, chap crafts 1k-loc text editor
Ticked off by the news that Nano opted out of GNU, a programmer called Salvatore Sanfilippo has written his own text editor. What's impressive about it is that it provides a basic code editor with syntax highlighting and search, without ncurses as a dependency, and in a mere 1,000 lines of code (at Github). Why did he decide …
COMMENTS
-
Monday 11th July 2016 04:23 GMT Notas Badoff
Libre liver bile
"No, you're not Libre enough!"
"No, *you're* not Libre enough!"
"No, _you're_ not !Libré! enough!!1!"
...
I've repeatedly been left with the impression that FSF and kin are like bleeding-heart misanthropes. Their written pronouncements have everything good in them. Poke'em a bit though and they seem to bleed bile and legalisms, shouting that no one else's terms/ideas/feelings are near good enough for them.
Oh well, we're now educated to route around damage ...
-
-
-
Monday 11th July 2016 14:53 GMT Phil Lord
Re: "did not want to assign *copyright* to the FSF for his contributions"
Copyright assignment is actually not a GNU policy. There are GNU projects which do not require assignment. Indeed, if you go and read the messages about Nano that possibility was raised, but never resolved. Benno's other major criticism was that the GNU coding standards and associated documentation were too long; he may have a good point here.
Seems to be that most of the issue here is one of miscommunication, though.
-
-
Monday 11th July 2016 12:40 GMT Alan Mackenzie
Re: "did not want to assign *copyright* to the FSF for his contributions"
> Why does it [the FSF] want copyright on someone else [sic] work?
Because only then is it in the legal position to defend a work's copyright. I look at it this way: having assigned my copyright to the FSF, that is one burden lifted from me should some nasty person violate my copyright. I am in no position as an individual to initiate legal procedings.
-
Monday 11th July 2016 13:33 GMT I am the liquor
Re: "did not want to assign *copyright* to the FSF for his contributions"
Another benefit is that it prevents the author taking the product down the closed source or freemium route in the future. The copyright-holder doesn't have to rely on the GPL to create derivative works, so they could release a paid-for, closed-source "pro" version based on the open source software. FSF doesn't want that happening to their products so they prevent it by ensuring they hold the copyright.
-
-
Tuesday 12th July 2016 08:16 GMT Phil Lord
Re: "did not want to assign *copyright* to the FSF for his contributions"
No, the FSF cannot sue for licence violation if they do not own the code. Then could support others, of course, in doing so. It's also easier to enforce the licence is you own all the code.
Set against this, getting a CCA for all code contributions is a significant barrier. Gains and losses.
-
-
-
Monday 11th July 2016 15:17 GMT Alan Brown
Re: "did not want to assign *copyright* to the FSF for his contributions"
"Why does it want copyright on someone else work?"
"it" doesn't as such. But if it comes time to enforce GPL compliance, individual programmers have usually found they've been strung along for years (and in at least one case I know of in the 1990s, the commercial outfit which ripped off the code turned around and sued the original author in order to claim copyright on the code they'd stolen - but this happened more regularly with BSD-style releases).
Having the FSF park (well funded) tanks on the front lawn usually results in naughty outfits reassessing their position. The cases you hear about (that are approaching court) are fewer than 1% of the issues that they deal with.
-
-
Monday 11th July 2016 09:00 GMT J I
Succint Software
Following up the bootnote, the classic of this genre has to be Extra Rheolism - Tetris in a single line of BBC BASIC.
-
Monday 11th July 2016 09:22 GMT Charles 9
Single line?
Horse hockey! I only call a program a single line if it occupies a single line on the screen: no overflowing or any of that garbage. Instead, we should be judging short-program lengths by character count, not line. Let's see people produce a complete game or utility when restricted to, what, 40 characters.
-
Monday 11th July 2016 18:49 GMT John Brown (no body)
Re: Single line?
"Let's see people produce a complete game or utility when restricted to, what, 40 characters."
Bollox! A line is defined by the language and it's definition of EOL ;-)
40 Characters? Commodore Pet? Tandy had 64. So an xterm on a very high res screen with a tiny typeface isn't allowed?
-
Wednesday 13th July 2016 06:58 GMT Charles 9
Re: Single line?
"Bollox! A line is defined by the language and it's definition of EOL"
Bollock on the bollocks! If any form of text overflows the single line on display, then by definition it's not a single (as in ONE) line anymore. We'd never say that of text, code, or whatever, so I stand my ground. A single-line program is only such if it takes up no more than a single screen line; no ifs, ands, or buts.
10 PRINT "HELLO, WORLD!"
THAT is a single-line program.
-
-
-
Monday 11th July 2016 09:36 GMT TS15
A programmer called...
Salvatore Sanfilippo - probably deserves a bit more credit/recognition than "A programmer called".
He wrote a little something called Redis (http://redis.io/), which if you've not come across it directly is a supremely fast in-memory data structure store able to be used in a multitude of ways.
Often used in large-scale web infrastructure and powers a bunch of websites you may have heard of: http://redis.io/topics/whos-using-redis
-
Monday 11th July 2016 14:27 GMT Lee D
Re: A programmer called...
Ah, do you mean this one:
https://developers.slashdot.org/story/16/07/09/0448257/researchers-find-over-6000-compromised-redis-installations
"By default, Redis has no authentication or security mechanism enabled, and any security mechanisms must be implemented by the end user."
The large-scale web infrastructure data structure that "is designed to be accessed by trusted clients inside trusted environments," according to its documentation. "This means that usually it is not a good idea to expose the Redis instance directly to the internet or, in general, to an environment where untrusted clients can directly access the Redis TCP port or UNIX socket... Redis is not optimized for maximum security but for maximum performance and simplicity."
Yeah, not entirely sure that that's a good thing, to be honest. Quick-and-dirty probably isn't what you want if you intend to edit files in /etc/ as root, for instance.
-
Tuesday 12th July 2016 14:24 GMT TS15
Re: A programmer called...
Indeed. Unfortunately there's not much mitigation for a service being installed by a village idiot who hasn't got a clue how to secure their systems or understanding of what something does.
Suspect you'd find a few more than 6000 insecure Windows or Linux machines kicking around on the web. Or compromised mysql installs.. or anything else you care to think of.
-
-
-
-
Monday 11th July 2016 13:57 GMT Wilco
Re: Nice
Not sure about that. It's neat enough, but most of it depends on updating a global struct editorConfig instance E. It wouldn't have been that hard or that many more lines (could be less), to wrap this up so that changes to this global state were encapsulated. Some tests would be nice, too.
Love the comment on enableRawMode
-
Monday 11th July 2016 14:52 GMT Bronek Kozicki
Re: Nice
In practice this is not editor config, it is editor state and very neatly packed into a single struct. It would be neat to pass it explicitly to all functions as a pointer, agreed. But then it would not be so blatantly obvious that it is one-end-the-only editor state, and there are benefits to such bluntness of design. In case when the whole project sits in a single .c file, without any headers, this seems appropriate.
-
-