"People of Turkey, go be human shields for my illegal reign by standing in front of the tanks."
Erdogan was willing to let any number of people be killed to prop up his illegal reign. The soldiers in the coup were humanitarians who were unwilling to kill indiscriminately.
By the time Erdogan is done purging the country his body count will be three orders of magnitude higher.
It probably wasn't very funny to most of the people who thought their good friend had died, especially those who've dealt with actual suicide in their lives.
It might seem far fetched right at the moment but some thinkers and economists are already seeing a guaranteed basic income for EU countries during the next decades which in time should extend to the rest of the 1st world countries.
I know it looks a bit crazy now, but so did free universal healthcare 40 years ago if you think about it.
Depending in the leverage they used for betting against the HKD these people might be at a serious risk of loosing everything they put there in case the trend doesn't suddenly change or if they don't get enough money from other sources to hold their leverage.
I wonder if there is any project starting to re-write Emacs according to modern practices like we now have NeoVIM for VIM.
I really like editing in VIM but I moved to Emacs using Spacemacs to try and get the best of both worlds (org mode for scientific research seems a really cool approach).
Still I see Emacs as being quite more bug prone than VIM and VIM than NeoVIm.
Perhaps this is what's needed for someone to start a complete refactor of Emacs and bring it (I mean the code not the editor) to the modern age.
I don't really see that as being the case. Emacs development is very active, even at the low levels. The Guile scheme implementation now has an elisp implementation and there's a good chance that emacs will be moved to it eventually.
If you encounter bugs you should submit bug reports.
> The Guile scheme implementation now has an elisp implementation and there's a good chance that emacs will be moved to it eventually.
FWIW, I think that's entirely the wrong direction to go. Emacs should be ported to Common Lisp, with an elisp compatibility layer.
Scheme's a neat didactic tool, but anyone who wants to produce production-level software in Lisp should write it in Common Lisp. Heck, even Schemers recognise that, which is why the RnRS controversy exists.
My own view is that Scheme is exactly the right way to go and CL would have been the wrong way to go.
Modern Schemes are fully as production-ready as CL. The view of Scheme as merely an educational tool is outdated, and usually based on limited experience with ancient, bare-bones Scheme implementations such as MIT Scheme.
Modern Schemes like Chicken have fairly extensive collections of practical libraries and features that barebones Scheme implementations lack. To add to that, Scheme is far more elegant than CL, and doesn't contain all of the ancient crud of CL, so is far more pleasant and easy to program in.
I'm not thrilled that Guile (rather than Chicken) is the Scheme of choice for Emacs, but it's a far better choice than CL.
That said, even CL would have been an enormous improvement over elisp. So the sooner the migration from elisp starts (whether to Scheme or CL), the better.
> Modern Schemes are fully as production-ready as CL.
Modern Scheme still doesn't have hash tables (c.f. R7RS[1]; of course Lisp has them). That, right there, prevents it from being a production-ready language. I could omit the rest of this post and I'd be right.
Scheme does have continuable exceptions, but it's still a far cry from Lisp's conditions and restarts.
Scheme's type system is extraordinarily lightweight. There's no way for the user to define new types, nor even a lightweight way to query for an object's type (unless I've missed something, one must use the various type predicates one-by-one).
Relatedly, there's no way to declare variable or function types; no way to pass that information on to an optimising compiler. There are no compiler macros. Indeed, compilation in general is woefully underspecified.
There's no object-orientation: no classes, no generic functions, none of that. One has to roll one's own if one wishes to.
Although it does have cond-expand, unlike Lisp Scheme doesn't specify READ-SUPRESS which works in conjunction with #+ and #- to skip variant syntax supported by other implementations.
This raises the issue of the reader in general. Scheme's reader is not extensible; it lacks reader macros. It provides no access to the current readtable, or any way to manipulate it.
Scheme doesn't even have a general (i.e., unhygienic) macro facility! Its hygienic macros are sufficient for many use cases, but not all — e.g. anaphoric macros.
Its iteration construct (yes, singular!) is severely limited. There's no general facility like LOOP.
It lacks settable places (this is the capability in Lisp of writing `(setf (getf 'foo bar) 'baz)`).
Scheme does finally have dynamic variables, although they are more unwieldy to use than Lisp's specials.
I do like its well-specified numeric tower.
> Modern Schemes like Chicken have fairly extensive collections of practical libraries and features that barebones Scheme implementations lack.
But they require that for even very basic functionality (like hashtables!). One of Common Lisp's downfalls is having to use implementation-specific functionality; Scheme is worse.
A related problem with Lisp is that Gray streams aren't part of the standard. But Scheme's ports are even less-specified than Lisp's streams.
> To add to that, Scheme is far more elegant than CL, and doesn't contain all of the ancient crud of CL, so is far more pleasant and easy to program in.
You know what I find pleasant? A language which anticipates my needs and my problems, and has already solved them. Time and time again I find that Common Lisp has done exactly that.
I'll certainly admit that there are parts of Lisp I'd change (the default upcasing is hideous; some of the function names are ugly; the varying argument order between similar functions is beyond lame). But I'd never want to use a language which treats NIL as true!
Scheme's not really a toy: it's clay which can be used by thinkers as well as students to play with problems. But it's not suitable for writing portable, high-performance, industrial-strength, real-world problems. Common Lisp is.
My thoughts exactly. I'm in my 30's, I've never had dental problems and every time I go to a dentist and he suggests to remove my wisdom teeth, I change to another dentist.
These teeth exist for a reason, and mine - luckily - were developed in a perfectly straight way in line with the rest of my teeth. Suggesting to remove them seems just ridiculous to me and a greedy way for the dentist to make some hundreds of euros extra by butchering me off.
I thought they existed because eons ago humans lost molars in young age, so there was room for those third molars when they came in? With modern dental care, if you keep all your teeth there isn't room for the third ones?
Many people think that but archeological evidence says the contrary. Caries only started showing up in humans 3000-4000 years ago when we started doing agriculture and eating cereals.
Before that we practically didn't had caries (just like wild animals also don't).
Throughout human history humans would have the full set of teeth in the vast majority of cases, until we started settling and switched from hunter-gatherer to agricultural society (which is a very recent time in human species development).
> HTTPS is the means to an end, bitcoin is just wasting resources.
Bitcoins is also a means to an end, you just don't seem to understand what the end is.
> If the point was just to maintain the blockchain integrity there would be no need to make its difficulty ever increasing.
This is incorrect. The blockchain requires miners to establish an unbiased ledger history. The difficulty parameter is tweaked so that the whole system can be future proofed against an adversary creating a convincing blockchain history (which was biased to double-spending or retracting a transaction).
> This is incorrect. The blockchain requires miners to establish an unbiased ledger history. The difficulty parameter is tweaked so that the whole system can be future proofed against an adversary creating a convincing blockchain history (which was biased to double-spending or retracting a transaction).
What was the excuse in the early days of bitcoin then when the difficulty was orders of magnitude lower?
Difficulty is ever increasing just because of the financial model bitcoin tries to propagate. The author of bitcoin wanted to make it deflational and so it had to be this way.
That part has nothing to do with the integrity of the blockchain and you are mixing two concepts here: Blockchain, which was a great invention and bitcoin, a financial experience (nothing against experiences from my part) which turned out to be a waste of resources.
> > This is incorrect. The blockchain requires miners to establish an unbiased ledger history. The difficulty parameter is tweaked so that the whole system can be future proofed against an adversary creating a convincing blockchain history (which was biased to double-spending or retracting a transaction).
> What was the excuse in the early days of bitcoin then when the difficulty was orders of magnitude lower?
... because there wasn't as much hashing power in the bitcoin network? Isn't that obvious? The difficulty parameters are tweaked so that the proof of work takes 10 minutes for the whole network. As the network gets bigger, you need to make it harder to maintain a 10 minute proof of work.
> Difficulty is ever increasing just because of the financial model bitcoin tries to propagate. The author of bitcoin wanted to make it deflational and so it had to be this way.
Eh. You're full of shit. But that's your prerogative.
> That part has nothing to do with the integrity of the blockchain and you are mixing two concepts here: Blockchain, which was a great invention and bitcoin, a financial experience (nothing against experiences from my part) which turned out to be a waste of resources.
Integrity of the blockchain is maintained by cryptographic hashes. There are other security properties (such as proof of work and thus non-malleability) that are maintained by the difficulty parameter.
The difficulty does not NEED to be ever increasing. In fact there are periods of time where the difficulty is pretty stable, such as mid-2011 to early 2013, or the first half of 2015: http://bitcoin.sipa.be/speed-ever.png
> bitcoin is just wasting resources. If the point was just to maintain the blockchain integrity there would be no need to make its difficulty ever increasing. <
Higher difficulty don't waste any more resources than lower difficulty.
Good design: Then we are taken to a page with a banner so big that you have to realize that you need to scroll way past the bottom of the screen to actually reach the content.
"Obviousness comes from conforming to people’s existing mental models.". It's currently pretty common to scroll webpages with big images in the middle.