Hacker News new | past | comments | ask | show | jobs | submit | reginaldo's comments login

My advice would be to read Piumarta's "Optimizing direct threaded code by selective inlining" paper [1] first, and then read the references from the wikipedia article [2].

If the piumarta paper is still over your head, take a look at its references, but they will refer to Java, SmallTalk and Forth which might be a distraction.

[1] https://groups.csail.mit.edu/pag/OLD/parg/piumarta98optimizi... [2] https://en.wikipedia.org/wiki/Copy-and-patch


I wonder if anyone tried this in Android, which also has a logo partition. Maybe not the flagship phones, but if I were to guess, I'd guess the TV sticks and other Android streaming devices might have similar issues.


You nailed it. This is so vendors can rebrand without having to rebuild and re-sign.


And Clojure has "Simple made easy" [1]

[1] https://www.youtube.com/watch?v=SxdOUGdseq4 -> on of Rich Hickey's best talks


I wonder why isn't Clojure more popular.


I tried to use Clojure a few weeks ago. I have two projects for it: the first is that I have a "TOML test matrix" where I compare different TOML implementations against the test suite. This works by feeding a binary a TOML document which then outputs a description of that in JSON. I set that up for a whole bunch of languages.

The second is instaparse, which I'd like to use to quickly test a TOML document against the TOML ABNF.

I couldn't get either to work. As in: I can't even get very simple examples to compile. The tooling is super confusing and weird. I appreciate that a lot of tooling you're not familiar with can be confusing and weird, but I managed to get to a lot of languages for my TOML test matrix to work, including many where I'm not familiar with. For some that took some time and patience, but that's okay. Clojure is the only one thus far where I just gave up (for now anyway).

So at least part of the answer to "why isn't it more popular" is "the tooling isn't very good". Maybe the tooling is "simple" by Hickey's definition of that, but it sure isn't "easy" by my definition, and in the end, "easy" does matter, especially for these kind of things.


Because it's not easy.

You need the right balance of "easy" and "simple" and Clojure does not have it.


It's the learning curve.

There is a very DIY approach with composition, with lots of library choices. This makes it tough for beginners and intermediate programmers to jump right in and be productive.

That plus functional programming, plus immutable defaults, plus Lisp, filter out developers who don't have a lot of experience, dedication, or a mentor.

The more I learn though, the more I love it.


Syntax IMO. I know it's obnoxious, but the reality is most people read C like languages, not Lisp.


t took me a week to get used to the syntax. Now that I'm not working with Clojure anymore, I find every other syntax somewhat repulsive. When I was looking into Elixir and now OCaml, I found them much harder to follow ¯\_(ツ)_/¯


2 decade ago, I used to love Scheme-like languages, they seemed so elegant.

But after struggling hard trying to introduce them into companies, I gave up. In contrast, I introduced Go into 3 companies and numerous teams so far and it was so easy for it to gain adoption.


lisp turns a lot of people off - it does require some retraining of your mind. when people need to get shit done this friction is too great, and so they fall back on other tools.

going to do advent of code in clojure this year though to force myself back into it - it's a great language.


Separately from that, Clojure turns some genuine Lisp people off.


That confuses me. It’s such a great lisp.


I hate everything that runs on the jvm, only use kotlin for Android stuff. I dont think I am the only one. Simplicity=python, performance=go.

Memory usage is absurd and when you cap it, the performance is worse than Scratch.


The added value of Clojure over JavaScript is marginal, and the trade-off is significant.


Sorry, but this is plain wrong. Clojure is a functional first language with an extremely powerful macro system. JavaScript has ad-hoc monkey patching and a heavy toolchain requirement to enable immutability.


And the industry doesn't care, ecosystem is 100x more important (please don't bring up that "seamless interop" fallacy crap).


The Panama canal saves about 8000 miles, which about 2 weeks time at 20 knots, plus fuel and crew, insurance, etc. That comes to $285k per day. Depending on the wait time (I've seen 20 days wait time in the past), that might be a rational decision even without considering late penalties.


the full journey around the southern Cape.. fierce weather down there



and you won't find many cargo vessels doing 20 knots, that's more a fast ferry's territory.


For the initiated, this is SICP[1] Exercise 1.19. That exercise walks you through a proof without explicitly using linear algebra. I remember having a blast solving this back in the day.

[1] https://web.mit.edu/6.001/6.037/sicp.pdf => page 61


I just read the exercise. That's very clever.

Makes me want to sit and go through the book.


I skimmed your substack, and it seems to me that you would like SICP. Give it a try.


Thank you. I will do it.


Interesting, TIL.

Thanks for sharing. :)


Also interested in the answer, and I thought a bit about this and have a hypothesis that DNA does not encode everything, instead it depends on implicit assumptions about the environment.

To give an example, gravity is likely not encoded in the DNA, but instead, there are many encoded behaviors that would make sense only on an environment where gravity is present. The same for the presence of predators, wind, solar radiation, etc., i.e. many of the things that we take for granted.

That's how you would get more than 750MB of behavior on 750MB of DNA data [1]

[1] https://en.wikipedia.org/wiki/Human_genome#Information_conte...


Interesting! I like that thought. I enjoy thinking about how surprisingly good we are at predicting trajectories, good enough that we can throw, catch, and dodge small objects with remarkable accuracy. I wonder if our internal calculations of acceleration due to gravity is purely learned, or future space-faring infants will be surprised by how their block castles react when they knock them over.


When we duck away from low flying birds, it’s probably because they used to hunt us a million years ago.


Come to Australia during magpie breeding season, where we are still hunted by low flying birds.


or because in our past we got hit by low flying things often enough (conditioning)


I did it on 2.5 million domains from the various top 1 million lists and here are the ones with over 10 thousand matches:

  11308 include
  12284 stripe-verification
  13377 cisco-ci-domain-verification
  15123 zoho-verification
  15621 knowbe4-site-verification
  18764 Sendinblue-code
  19472 amazonses
  21264 adobe-idp-site-verification
  23791 klaviyo-site-verification
  24156 docusign
  27694 yandex-verification
  34068 globalsign-domain-verification
  55512 atlassian-domain-verification
  65353 apple-domain-verification
  70535 _globalsign-domain-verification
  74467  
 155337 facebook-domain-verification
 400513 MS
1025970 google-site-verification


Multiple people intuitively pointed out that the OP is actually quite wrong. The shocking fact, to me at least, is how far this goes: all of humanity share a single male ancestor [1] (and no, it was not the first man to ever live), and a single female ancestor [2], who likely lived thousands of years apart.

[1] https://en.wikipedia.org/wiki/Y-chromosomal_Adam [2] https://en.wikipedia.org/wiki/Mitochondrial_Eve

PS: see also references fromthe linked wikipedia pages


The genes book I mention in the post talks about Y-Chromosomal Adam and Mitochondrial Eve. Super cool stuff. The directed acyclic graph nature of lineage totally makes sense why the number of ancestors is smaller in reality than the theoretical numbers. I don't follow how Adam and Eve relate, though. I know this example is crude but bear with me; hopefully it's valid enough to have discussion around. If we follow the lineages back to the point where we have 1000 ancestors each, it seems like Adam just represents the 1 we all have in common, and by extension the other 999 are the ones not in common.

From the Wikipedia article:

> Although the informal name "Y-chromosomal Adam" is a reference to the biblical Adam, this should not be misconstrued as implying that the bearer of the chromosome was the only human male alive during his time.[7] His other male contemporaries may also have descendants alive today, but not, by definition, through solely patrilineal descent; in other words, none of them have an unbroken male line of descendants (son's son's son's … son) connecting them to currently living people.

(Reading the Eve article left me with even more questions than answers, but I'm still getting the sense that Adam and Eve are orthogonal to the "number of ancestors in 1600" topic.)


Try the awesome numberphile video "EVERY baby is a ROYAL baby" [1] https://www.youtube.com/watch?v=Fm0hOex4psA


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: