Die Hard

Lets talk about something really hard. There are at least 3 whole asynchronous, concurrent “full stacks” on top of the Java Runtime written in Scala (which compiles to the JVM bytecode and its standard library is a wrapper around Java’s). The first one, arguably the most widely used. is the Twitter’s platform. Then comes Lightbend (formerly Typesafe), and then stack upon which Spark has been built. The most amazing thing is that vastly complex codebases, like Twitter “it just works”....

April 30, 2024 · <lngnmn2@yahoo.com>

How to program

The great programmers of the past, who wrote the fortran numeric libraries, lets say, drew flow-charts for every procedure they are about to write. This gave them the right intuitions and the right feeling about what they do. At the level of expressions you have just (only) recuring 3 patterns - it will be either a sequence, a conditional (branching) or a loop (recursion), so when they begin to write the code, they were never confused – it has to be one of these....

April 28, 2024 · <lngnmn2@yahoo.com>

Teach Yourself programming like Peter Norvig

There are already several websites which publish a “roadmap” of how to teach yourself programming (University keve) using freely available courses and textbooks. Here is my 2 cents. First of all, SICP is an advanced textbook. It is by no means suited for teaching freshmans, unless you are a MIT student, who is math-lover and a “slow thinker”. Brian Harvey, the great, managed to teach the CS61A at Berkeley – a SICP-based course which goes at a slow pace....

April 28, 2024 · <lngnmn2@yahoo.com>

Tackling complexity

Some hard problems will never be solved by “brainstorms” (more like bullshit-storms) or any about of babbling by Chuds. They require the trained minds like of C.A.R. Hoare or Leslie Lamport. or Philip Wadler or Martin Odersky – the outliers and top performers.. Ideally, they have to be mathematically mature, and preferably on the compiler side (so they also understand important implementation aspects). The “direction” is actually clear and well-understood (a small miracle), and it is in restricting too general concepts and formalisms with additional constraints (so they actually match the environmental constraints), or just typing....

April 26, 2024 · <lngnmn2@yahoo.com>

The targets no one else sees

Lets talk about some targets no one else sees. I am a prod student of Brian Harvey, the great. I used to watch his CS61A recordings like other people watch stupid TV serials. For me it was something like watching X-Files or Twin-Peaks, which are only non-stupid ones. The problem was, however, that even if I understand every word and almost every concept mentioned, I didn’t know which are the most fundamental ones and which are just accidental notions or just preserved in a shared culture social constructions....

April 26, 2024 · <lngnmn2@yahoo.com>

Everything in Emacs

Google deprecated external access to its IMAP due to “security reasons” Karpathy posted a classy coding video lecture in which programming has been done entirely from the default Mac OS browser (doing everything in a web-interface to a Jupiter notebook). Corporations want us to stay in their (and only their) browsers all the time (in many different tabs) and never leave, so they can collect all the data they want....

April 24, 2024 · <lngnmn2@yahoo.com>

Rust is like Haskell, but imperative

What could even be in common between Haskell and Rust? Well, they are the most advanced languages of its time, the most controversial and the most discussed. Most importantly - both languages are have a proper type-classes/traits based standard libraries, where the type-classes/traits define major modern mathematical notions, which can be traced to the modern set-theoretic math and related notions. This is what makes the actual difference with other crap like PHP....

April 24, 2024 · <lngnmn2@yahoo.com>

All you need is…

There are a few ancient sayings about going around the world, looking for the Truth (which us Out There, you know) and then returning back home only to find It right there. Other ancient thinkers have suggested to look no further than onto your own self (to find all the answers). And, of course, the ultimate resit is I Am That from the Upanishads. There are some manifestations Truths I found going around the world....

October 29, 2023 · <lngnmn2@yahoo.com>

Why not OOP

Object-oriented design is the roman numerals of computing. Rob Pike Joe Armstrong said in his thesis that Java is not even suitable for programming. It is good idea to try to realize why. The fundamental flaw, which cannot be eliminated, comes from the fact that the “designers” of Java lacked a required mathematical background. The idea of mimicking the “real world” in which “objects having its internal state” is exactly what is wrong....

October 21, 2023 · <lngnmn2@yahoo.com>

Never leave Emacs

It takes time to get more-or-less familiar with the major branches of human knowledge, which is traditionally called a classic education. This gives one, among other things, the ability to see what other people call “connections” between seemingly unrelated “things”. This ability, in turn, helps to see things as they really are, which is the most important part of life, and goes back to the Upanishads and the Buddha. The most difficult and subtle “thing” to see (as it really is), is, of course, your own self, and the habit of doing so, which is called introspection, which ultimately leads to self-knowledge and self-control, is the most sought after ability since beginning of time (at least in the Orient)....

October 17, 2023 · <lngnmn2@yahoo.com>