HNHacker News
TopNewBestAskShowJobs

dschiptsov

1,198 karma · joined September 1, 2012

http://karma-engineering.com/lab/

schiptsov at gmail or facebook

I am looking for employment in Sweden with relocation only.

Will do UNIX sysadmin's and DBA's tasks and/or code CL/Erlang/Haskell/Clojure/Scala/Python/Go for food.)

submissionscomments
dschiptsov··on How I Built a Custom Camper Van (2015)
I prefer a motorcycle and sleeping homestays in Himalayas.

Just finished my first 10,000 km ride from Sikkim to Kathmandu to Uttarakhand, Himachal, Kashmir, Zanskar, Ladakh, etc.

It is cheaper, but sometimes a bit tough, when you have to cross a cold stream a half of meter deep..)

dschiptsov··on Zig: a system language which prioritizes optimality, safety, and readability
Modern amateur language designers usually are not aware of decades of research and breakthroughs in old-timer's languages, such as Algol, Scheme, Common Lisp, Standard ML and recently Haskell. They miss the beautiful specialized syntactic sugars in Standard ML (for defining and calling curried functions), Octave/Matlab matrix syntax, and the beautiful Common Lisp's looping and SETF macros, which inspired Python's for loop syntax for iterable collections and assignment operator overloading. Instead of spending time to learn and understand pros and cons and nuances they rush headlong to implement everything from scratch.

Really smart guys, however, are trying to leverage old-school languages, to climb on the shoulders of Titans.

David Moon created the PLOT language that leverages Lisps http://users.rcn.com/david-moon/PLOT3/ , Rich Hickey did almost the same with Clojure. Scala has been a leverage of Standard ML, similar to Ocaml. Now Swift is trying to distillate Scala, at least in terms of standard idioms and syntax choices. Julia has been build upon the big ideas from CLOS.

Python incorporated lots of good ideas and bits of syntax and managed to balance the syntax and unify semantics and since 3.5+ earned reputation of a well-designed language (clear, balanced, complementing each other semantics from the Lisp world, and carefully chosen syntax). It is also famous for its culture.

So, for those who wish to change the world by developing a new language, it might be a good idea to look at Standard ML and its derivatives and try to relax some constraints and balance the syntax according to modern conventions.

I personally would prefer to start from David Moon's PLOT3 and, perhaps, try to marry it with some lightweight type-system based with optional annotations.

Btw, Haskell's choice of not mixing type information and function definitions and use annotations with its own DSL for types is a really big idea. It reduces cognitive load, makes code extremely readable, and in general, it seems, the best of both worlds. Python's optional type annotations are clever, but less elegant.

dschiptsov··on There are no particles, there are only fields (2012)
Particles is just result of [self-centric] human perception bias and the resulting naive concept of matter or a substance as perceptual conditioning, evolved in a certain physical environment (everything what we are, including our mind and consciousness is shaped by the environment, and our perception of reality, in turn, is shaped by our mind, conditioned by perception).

We think that there are solids and atoms - grains of matter - basic building blocks. This model corresponds to what our sense organs give us. It is hard to convince oneself that there is no matter at all, only energy and our perception grossly zoomed out of what is really going on.

Matter is an appearance to perception. A wrong model due to limitation of the sensory system. There is no matter when there is no observer, only states of energy, or fields, which is a better concept, but still mere concept. We could say that atoms are "stable" fields, but it is much better to do not apply "human" predicates to the nature.

Particles is a good-enough model, which allowed us to sequence a genome or build a CPU, but it is only a crude model nevertheless.

dschiptsov··on GitHub Code Search – Programmers' Goldmine
Searching for code without understanding could lead one astray. Even such places as Rosettacode host a buggy code.

http://karma-engineering.com/lab/blog/DoNotCopyPasteShit

dschiptsov··on A FreeBSD 10 Desktop How-To
Someday I might go back to FreeBSD.

The time I have spent doing things like

   apt-get remove unity* libqt5*
to rip off all the bloatware and reduce everything back to just gdm + gnome-shell + gnome-terminal + emacs-gtk3 + chrome with pdf viewer + hangouts is comparable with bootstrapping all this from FreeBSD ports (unfortunately without hangouts).

Notice, by the way, how easy and intuitive plain text configs done right are.

Each time I see systemd processes in some ps output I feel nothing but despair and disgust.

dschiptsov··on Facebook AI Research Team Open Source DeepMask and SharpMask
First, one must understand that these things are not just over, but over-over hyped. It is a socially constructed meme that Deep Learning is only for real geniuses, math PhDs, etc, build by Deep Learning guys themselves.

The problem with AI is that one need enormous money and resources of a big corporation to produce results one could see on AI competitions. It their "research" they do progress, like everyone else, by trial and error (well, augmented with a decent heuristic search process) and the more people and hardware resources they could put in it, the more chances they will outperform other teams. It is resources, not "smartness".

I have completed the very first AI MOOC by Andrew Ng years ago - 780 out of 800 or something. The only difficulty is that it combines methods from math and programming, so one need to have some background to really understand hows and whys. Also really decent knowledge of English is required, otherwise one might miss the nuances in a very dense, loaded with terminology lectures, so, the entry level is quite high (of course, one could always copy-paste code without understanding and use ready-made toolkits and tutorials).

Apart from that it is nothing special. Basically, it is a function composition, with linear algebra and some numerical optimizations. When you have understood the basic building blocks - mathematical functions, processes and algorithms involved, there is nothing much else to do - one has to apply the theoretical knowledge which is, again, not a big deal, to real problems, and this is where big corps with resources took the advantage.

As long as you manage to get inside one of bigcorp AI lab, you become a star, simply because of the well funded PR machine of the corp. Everything that comes out is super cool, of course, so even being mentioned in the context makes one super cool too.

In my opinion, the guys from upper middle class families, who went through a decent technical school (with mom and dad's money) which taught them the basis needed for entering AI, are not that special. I probably could beat one or two of such snobs, having no high school education at all, never studied English or programming in a school and being raised in an impoverished family, but this is another story.

As for ML, take Andrew Ng's course, it is pretty accessible, and then take the one on the Udacity (with all these arrogant hot shots) and realize that there is really no magic in it. It is not that hard.

When you see a cool paper or video about some "breakthroughs" it ML, take into account that it is mostly due to resources spent on it, not some kind of extraordinary genius of the authors of the paper. Remember, all they do is basically a heuristic search and constraint satisfaction problems - train, test, change function (layer) composition (usually, without real understanding of whys), re-train, re-test. The problem is that there are very few of such slots in megacorps.

The guys like Andrew Ng himself are, of course, the real stars. But this kind of success comes from years of rigorous training similar to what Olympic champions have undergo. I personally don't think I have such ambitions or wish to embrace such lifestyle.

dschiptsov··on Scientists Watch Thoughts Form in the Brain
I have got some rather superficial knowledge of how the state-of-the-art brain imaging works from a couple of free MIT courses.)
dschiptsov··on Scientists Watch Thoughts Form in the Brain
I think it should be called "digital hallucinations" - non-reproducible (but not totally random either) visualizations, renderings of some data gained from a device build according some biased and grossly oversimplified models. It might have strong correlation with micro changes in blood flow or biochemistry, etc. but obviously have nothing to do with thoughts.
dschiptsov··on Startups that launched at Y Combinator S16 Demo Day 1
Strange, almost no data-economy (collecting and selling user's data - the way "social" is monetized) or data-science startups.

A thin layer of encryption over cloud storages is a clever idea! And this is exactly how tech entrepreneurship should be - even if the project would fail due to non-technical reasons, the technology being developed could be reused and sold.

"Lifestyle startup" meme is crap.

dschiptsov··on “Node.js is one of the worst things to happen to the software industry” (2012)
This is exactly how you get professionally marketed crap like Mongo, Node, Hadoop, you name it.

It is a fast-food way of building software - cheapest processed shit wrapped in a good SEO and naive user experience (quick and rewarding installation and effortless bootstrapping of a meaningless hello-world - I am so clever meme).

What matters in software in the long run, be it an application or even a programming language, is appropriate design decisions and strong emphasis on design around protocols (by duck-typed interfaces), using declarative (instead of imperative) mostly-functioal paradigm, bottom-up process with focus on modularity and code reuse, while sticking to the standard idioms and principle of less astonishment. This is what is still being taught at MIT, and this is how the internet works as a whole.

99% of Node or PHP code is a toxic amateurish crap, precisely due to ignorant over-confidence of the coders and lacking of proper CS education about right principles and programming paradigms, importance of louse coupling and proper encapsulation, which leads to modular, share-nothing, mostly functional designs with emphasis on immutability and persistence (that's why Clojure is so good - it has been, like Erlang, well-researched with tons of good stuff borrowed form Common Lisp).

Erlang or Haskell or Scala or Swift or Golang are on another side of the spectrum, which could be characterized by discipline of sticking to the right principles and rigorous attention to details (of which Haskell might be a bit too strict, but Erlang or Scala just right).

BTW, these observations about the impact of a proper design, based on right principles, which have been made almost 20 years ago still holds - http://norvig.com/java-lisp.html Today we could state the same for Python3.5+, which, finally, evolved to be so carefully refined as old school Lisps, but emphasizing that Python3 is a prototyping language, while CL is both prototyping and implementation language.

No sane person should even touch PHP or Javascript or any other crap with implicit coercions, error supressions, etc, designed by amateurs (hello, MySQL, Mongo, Hadoop!) like one avoid chap processed junk food or drugs.

dschiptsov··on FemtoEmacs: Tiny Emacs clone with configuration in FemtoLisp
For an editor a dialect of Lisp with proper module-based multiple namespaces (a-la Python) is a much better choice.

It is also nice to have a CL package, which makes porting of relatively easy.

And FemtoLisp is a beautiful thing, of course.

dschiptsov··on Ask HN: Best passive income method for a solo developer?
Talent.
dschiptsov··on Ask HN: Best passive income method for a solo developer?
Making a decent course is a extremely hard task. And it requires a real (not based on inflated self-esteem) expertise.

Courses by Brian Harvey, Dan Grossman or Gregor Kiczales are real ones, while the crap could see on youtube, like Google's Python Course, is a disappointing waste of time.

Courses by Peter Norvig on Udacity are the gold standard.

Do not over-estimate your abilities. Good tutoring is hard. Just narrating copy-pasted stuff from the internet does not count as a course.

Same goes for books. On ought to grow up and become an expert first.

dschiptsov··on Ask HN: Best passive income method for a solo developer?
The tech books written by authors who know nothing but English and "learning a lot while writing" is exactly what ruined the book business. No one needs this kind of crap.

Books ought to be written by experts and talents. Just think of the likes of SICP, OnLisp, AIMA or PAIP compared to some Java for Dummies crap.

I wouldn't even start about fiction and guys like Nabokov, Wilde or Orwell.

dschiptsov··on Pinker: “News is a misleading way to understand the world”
Oh, really? Could it also be that advertisements are misleading way to collect the facts and press releases are misleading way to evaluate performance?
dschiptsov··on Age differences in learning from an insufficient representation of uncertainty
Causation is a strong claim here.) Correlation is known for ages.

"The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence". (Who said Java?)

The same notion is related to the concert of "the beginner's mind" popularized by D. T. Suzuki and S. Jobs. Packers call it "thinking out of the box". J. Krishnamurti call it 'freedom from the "known"' (people call all kinds of nonsense "knowledge").

Children learn so quickly and efficiently because they are not habitually pattern matching against personal experiences, cultural conditioning and popular memes - the way most adults do, but are still building the map of the world out of so called primordial awareness, or the Buddha Nature.

But "the map is not the territory".

And finally - “Trust those who seek the truth but doubt those who say they have found it.”

dschiptsov··on Machine Learning and Ketosis
Yeah. I has been downvoted into oblivion by saying almost the same things without any machine learning, just by observing eating habits and traditions of "village folks" in Nepal, India, Tibet and Sri Lanka where I have spent last few years.

The message was that traditional (evolved according to local food sources and seasons) unprocessed foods of Asian tribes is the most natural and healthy. Economic and habitat selection pressures implicitly works the same way as machine learning, for hundreds of years.

Visit any rural area and try simple folk's foods. They will be way healthier that any processed crap. The similar patterns could be notices really quickly.

dschiptsov··on Notes on Distributed Systems for Young Bloods (2013)
Yes, this strong process isolation is one of the design decisions which leads to the ultimate success of Erlang/OTP as a telecom platform. Joe Armstrong's thesis has explicit explanation why JVM is not suitable for telecom-grade reliability (no matter what sales people would tell you).

Another principal design decision, which complements share-nothing architecture, is a pure functional language with single "assignment". This greatly simplified runtime and VM itself which leads to more controlled and predictable behavior, suitable for soft-realtime systems.

The concept of drivers is another one, but it is irrelevant to this discussion.

dschiptsov··on Notes on Distributed Systems for Young Bloods (2013)
It is not only about absolute number of objects created, of course. It is also how long they kept and how often the are changing.

Immutability gives simplifies everything including incremental, parallel GC and hence reduces the pauses for GC.

This is the big idea behind Clojure and Datomic - immutability makes everything simple (less complex runtimes) and even more scalable (share nothing means no locks, mutexes, busy waiting) and in the case of Erlang - fault tolerant (strong process isolation - no threads with shared stack or any writable data).

What is funny - everything has been well-researched and right principles formulated by Erlang team decades ago, and the resulting product just works for telecoms.

The two fundamental principles they described are 1) Posix threads and fault tolerance does not match. 2) Imperative code and GC does not match. While Golang, Lua or PyPy are trying really hard to disprove the second principle, Java is an existential proof.

dschiptsov··on Notes on Distributed Systems for Young Bloods (2013)
Does it mean that ITA services doesn't work in production at Google or that Google does not use any projects written in Common Lisp?
dschiptsov··on Notes on Distributed Systems for Young Bloods (2013)
My pleasure!

http://basho.com/products/

http://highscalability.com/blog/2014/2/26/the-whatsapp-archi...

dschiptsov··on Notes on Distributed Systems for Young Bloods (2013)
There is a much better reading for Young Bloods

https://pragprog.com/book/jaerlang2/programming-erlang

dschiptsov··on Notes on Distributed Systems for Young Bloods (2013)
> garbage collection pauses make masters “disappear”

This happens only with piles of Java crap (gigabytes of jars). With [mostly] functional Erlang, Common Lisp, Haskell everything is fine.

dschiptsov··on BitFinex down due to Bitcoin security breach - 120k BTC stolen
Let me guess - PHP?
dschiptsov··on Billionaire Peter Thiel thinks young people’s blood can keep him young forever
Blood has no access inside cells.) Viruses are using sophisticated machinery to inject pieces of DNA and enzimes into the cell through the membrane.

But the immune system probably gets reorganized and refreshed.

dschiptsov··on Billionaire Peter Thiel thinks young people’s blood can keep him young forever
There are lots of support from animal model experiments - it prolongs lifespan.

Also this idea is a hundreds years old, and has been known even by ancient Chinese.

This is, probably, is the treatment for Castro and others. If one has no serious chronic diseases it will do.

dschiptsov··on Looking back on Swift 3 and ahead to Swift 4
[citation needed]
dschiptsov··on The vanishing civility: The game of jerks, bozos and assholes
That's just street/slums/ghetto behavior. Such heavy selection pressure selects the most adaptive and the most lucky (on the contrary to the popular misconception that the strongest and the smartest are selected). One could find a whole countries with this kind of society - Russia and some African states are good example. Highest level of corruption and crime produce such street-gang social norms.

Such practices are plainly stupid and based on misconception and uneducated common sense and primitive memes. Every serious professional athlete will tell you that too much stress and pressure will dramatically diminish one's performance and health instead of making one "stronger". Relaxed self-control, proper habits and just enough of exercises will do.

Any highly such competitive and stressful societies of assholes and jerks characterized by high turnaround, very short lifespan for participants, high injury and mortality rates, and hence adaptations, such as earlier reproductive age, smaller body sized, quicker but lower quality development, etc. It is just biology.

dschiptsov··on What Babies Know About Physics and Foreign Languages
I said in the comment above that "knowledge" is represented as a structure of specialized areas of the brain - stored procedures, if you wish, but the system needs to be "trained" by the spoken (or signed) language from the shared environment.

The "machinery" probably has notions of a thing, a process, and an attribute, because it reflects characteristics of shared physical environment and every human language has nouns, verbs and adjectives. There are also notions of time and space, due to serialized input of sense organs and self-centered nature of our perception.

Evolved, highly-specialized machinery of the brain's specialized areas reflects major characteristics of the shared environment available to it through the sense organs. There is nothing more than that. No other "knowledge".

dschiptsov··on What Babies Know About Physics and Foreign Languages
Literally absolutely nothing.

Human (and any other) brain has been shaped by evolutionary forces according to constrains and features of the shared environment (gravitation, light, sound, day/night changes, climate, etc) and has evolved machinery to pick up any language from the shared social environment. So-called hard-wired "knowledge" is just a structure of neurons in specialized areas of the brain, shaped by evolution (selection on random mutations) which reflects the environment.

← PreviousPage 5 of 34Next →