HNHacker News
TopNewBestAskShowJobs

ramin_hal9001

30 karma · joined July 25, 2016

Enthusiastic Haskeller
submissionscomments
ramin_hal9001··on Emacs is not just an editor (2015)
Back in the 80s and 90s people did not often distinguish between app platforms and operating systems, because back then there were no widely-used portable app platforms like Java or the Web.

Nowadays though, with a few popular app platforms running on numerous operating systems, there is a clear distinction between OS and app platform.

Emacs is an app platform for client-side applications.

ramin_hal9001··on Emacs is not just an editor (2015)
> Emacs Lisp is probably the worst language for "programming in the large". (After Javascript.)

But unlike JavaScript (and Node.js), I don't know of anyone who uses Emacs out of the belief that Emacs Lisp is a language with which they should be building large-scale applications. It is strictly a client-side language and it is used as such.

In fact, Emacs Lisp is actually a pretty good client-side language. Not that it is perfect, but I find it more enjoyable to use than JavaScript.

ramin_hal9001··on The Lone Developer Problem
I think you can beat the lone developer if the original developers take the time to thoroughly explain their code, at minimum in the comments, where it is good to point to papers explaining algorithms and techniques used. But also lots of example use cases explaining the various features of the code base -- not just "here is something cool you can do" examples, but "here is how these various functions can be used together, and this example shows how you can generalize to a larger problem." White papers can be useful for larger projects. There also needs to be some teaching work done: one-on-one conversations with colleagues for small projects, online videos presentations, and/or attending conferences for larger frameworks.

If you don't put effort into explaining your project to others, very few people will take the effort to learn it on their own, since the effort to understand your code might cost more in man-hours than the effort required to program everything from scratch.

ramin_hal9001··on Help! Is This Arabic?
> It's a bit like saying "if you have a paragraph in 'English' and it has no e's in it, it's probably not English."

This is true. You should also be able to see the word "the" in several places in English text, and if it is rendered as "ehT" or something like that, the ligature code may have a bug -- similar with reversing the ال (read as "al") pattern.

> I can't read Arabic but I can recognize that pattern. I went to https://www.bbc.com/arabic and could find numerous occurrences.

Really? I only ever learned to read just enough Arabic to read parts of the Quor'an and am by no means fluent, but I couldn't see any mistakes on that website myself.

ramin_hal9001··on The benefits of everything being a buffer in Emacs
> If Jobs did not care a ot Smalltalk the why was Next based on Objective C which is basically Smalltalk grafted onto C.

That is a good question, I don't really know (or maybe I am misinformed). Somewhere along the way, Richard Stallman started GNUstep, and Sun Microsystems and NeXTstep founded the OpenStep standard. But it is strange to me that when Jobs started NeXTstep his engineers choose Objective-C instead of trying to license or port Smalltalk, I was under the impression that Jobs didn't care for it for some inscrutable reason.

I do know after Jobs left, Macintosh Common Lisp (MCL) continued to see some development, and there was even a version of the Hypercard product that could be programmed in Lisp (I can't remember what it was called). But when Jobs came back he obliterated all of that in favor of all the stuff they acquired from NeXTstep. MCL eventually became Clozure Common Lisp which is still in development.

I think BeOS (now Haiku) does a better job making everything object oriented in the way that Smalltalk does. I have also heard (though I've never tried it myself) that OS/2 also does a much better job making a fully object oriented system.

ramin_hal9001··on The benefits of everything being a buffer in Emacs
I still use Screen/TMux to run servers, or any process that I need to keep running for a long time and still maintain control over it's STDIN/STDOUT.

But now that I use Emacs "shell-mode" I hardly ever use Screen/TMux anymore. I don't even use Bash anymore, I switch my default shell to Dash, because I don't need Bash's tab-complation in Shell-mode. I use Emacs's tab completion instead.

ramin_hal9001··on The benefits of everything being a buffer in Emacs
Yes, and this really showed with applications like Hypercard where you could build apps making use of the operating system's widget toolkit. The old Mac OS was based on the Xerox Star, which was in turn a commercial implementation of Douglas Engelbart's original GUI computer NLS. The Xerox Star supported both Lisp and Smalltalk development environments.

Unfortunately, Steve Jobs didn't care about Lisp or Smalltalk, and he hated Hypercard, and he took the company's product lines in a consumerist direction, which is why Apple has "app stores" nowadays instead of a thriving ecosystem of tiny Lisp programs that compose well with each other.

ramin_hal9001··on The Collapse of U.S. Healthcare – The Perspective of a Primary Care Physician
> lived NOT under capitalism

What, for example, is "NOT capitalism?" You mean like communist countries? You seem to be making the old mistake of thinking communism and capitalism are opposites of one another.

What is more, the problems with the communist countries was massive cryptic bureaucratic systems preventing practical problems being solved. If you hadn't noticed (or just ignore OP entirely) we have this exact problem right now with the health care/insurance system under the capitalist US system.

This is what I mean by capitalism and communism aren't opposites. Capitalism is turning our society into something like what was seen under more oppressive communist governments. And simply voting as if "things are better here, now, than it was under communism" won't solve the very real, pressing problems that OP was talking about.

ramin_hal9001··on Tesla’s headquarters will move to Austin
Of course. But this is also now makes Tesla a supporter of governments that ban abortion and throttle the democratic voting process.
ramin_hal9001··on China’s Dystopian “New IP” Plan for a New Internet
IETF already opened up this can of worms with their DRM schemes now part of the Web standard. China is just taking the next logical step here.
ramin_hal9001··on I can only think that modern front end development has failed
Others have mentioned the trend of making everything a SPA, which I agree is a huge part of the problem -- it is a cultural issue, not a technological one. Most apps only need to be HTML with minimal client-side scripting. People who teach front-end need to start out by teaching people how to use static site generators, rather than immediately telling everyone they need to start learning React or Vue.

But I'll also say that the web as an app platform was fundamentally broken from the very start, and this is because it was built on a fundamentally bad programming model. *Why is it* that everyone feels the need to use use virtual-DOM frameworks and CSS preprocessors for all the apps they design? Why is it that whenever I build an app for the web, NPM needs to download and compile around 10,000 modules (no exaggeration) in order to build the app?

JavaScript was originally going to be a Lisp-like language, but OOP was in fashion at the time and so it was made to be more like Java. Had it been a Lisp from the start, at least CSS preprocessors would never have become a thing because with Lisp you have macros. I am not saying the web needs to be based on Lisp, although it would definitely help if things started moving toward web assembly so people can start using better programming languages and frameworks than just the ones that compile to JavaScript to program front-end apps.

ramin_hal9001··on I can only think that modern front end development has failed
> I can vividly recall the 2000s where practically every website would look and behave differently in different browsers.

That was a time before the web became more standardized as an app platform. Corporations like Microsoft with .NET, Sun with Java, and Adobe with Flash, were all competing take over the whole world of write-once-run-anywhere frontend apps, become the platform of choice, and lock everyone into their way of doing things. Also there was no distinction between desktop computing and mobile computing as mobile computing back then was still underdeveloped.

Now the web is the frontend platform of choice. Ostensibly the platform isn't owned by anyone but the WC3 consortium (which is good), but practically speaking, Google won since everything is WebKit now (which is worrisome). And this has not yet so far solved the problem of the web being built on an incredibly poor programming model that make everyone want to use virtual-DOM frameworks and CSS preprocessors.

Hopefully, web assembly will replace the status quo and let people develop front-end apps using better programming languages and frameworks than just the ones the compile to JavaScript.

ramin_hal9001··on The power of imagination, and other parenting lessons from Calvin and Hobbes
My son is not old enough to read it yet, so I've been reading it to him, and it's the only thing he wants to read for bedtime story now.

I read them fairly regularly even as a teenager so I was old enough to understand most of the jokes the first time I read them. But every so often I see one that I understand in a new light now that I'm a parent myself, in particular, the ones from Calvin's parent's point of view. And of course, some of the mild political commentary, and also the commentary on Waterson's own constant fights with Universal Press Syndicate over merchandising rights (or really his categoriacal refusal to do so) and the fight with newspapers for more space so that he didn't have to constrain the drawings to the rigid formats they demanded for easier editing.

I read the collection titled "Calvin and Hobbes: The Sunday Pages 1985-1995" in which Waterson discusses the context of these strips at length, as well as his artistic process. I highly recommend that one to anyone who is a fan.