Goodbye, iMessage #


/misc | Sep 07, 2021

Batch download HN comments you've upvoted #

While this post describes how to bulk download comments you've upvoted on Hacker News, the process is virtually identical for upvoted submissions - the URL format is just slightly different, e.g., (though there are apparently better ways of downloading upvoted submissions - see Related section below.)

1. Get cURL (complete with cookie) from web browser

  1. Log in to Hacker News and open your profile page

  2. Open the network tab in your web browser's dev tools (e.g., Safari: Develop → Show Web Inspector → Network ⓐ)

  3. Click the "comments (private)" link on your profile page1

  4. In the network tab, right click "upvoted" ⓑ then click "Copy as cURL" ⓒ:
    Safari Network tab

2. Download upvoted comments

Paste cURL command from clipboard into a for loop2 like the one below, making sure to:

  1. specify the desired range of comment pages to download (e.g., 7 to 11)
  2. add --compressed3 to the curl command (if HTTP compression is specified, as below4)
  3. change the single quotes to double quotes around the URL
  4. append &p=${i} to the URL
  5. append -o ${i}.htm to the last line of the cURL command
for i in {7..11}; do
curl --compressed "${i}" \
-X 'GET' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
-H 'Accept-Encoding: gzip, deflate, br' \
-H 'Host:' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Safari/605.1.15' \
-H 'Accept-Language: en-us' \
-H 'Referer:' \
-H 'Connection: keep-alive' -o ${i}.htm
; sleep 5; done


  1. The URL for the first page of upvoted comments looks like, while subsequent pages have &p=# appended, e.g.,

  2. HN rate limits requests, so throttling is necessary (otherwise, you will receive a "Sorry, we're not able to serve your requests this quickly." response and ultimately your IP address may be banned). While wget offers a --wait=seconds option, the closest curl comes is --limit-rate <speed>, which sadly did not prevent the warning from occurring when sequencing, even at rates as slow as 1000 bytes per second, hence the for loop with delay. See Implement wget's --wait, --random-wait #5406.

  3. Otherwise, files are saved as compressed, necessitating something along the lines of gzip -d -f -S "" * to decompress. [1, 2, 3, 4]

  4. Without -H 'Accept-Encoding: gzip, deflate, br' \, 5-6 times the bandwidth is used to download uncompressed HTML.



/nix | Sep 05, 2021

When did ivermectin go from "wonder drug" to "horse dewormer"? #

October 2015 - July 2021:

August 2021:



/misc | Aug 28, 2021

Apple has surpassed Facebook and Google in violating user trust. #

In one fell swoop, Apple destroyed its reputation for privacy and security, surpassing even Facebook and Google in violating user trust:

and then had the temerity to not only blame critics for their "misunderstanding", but also to call the scheme an "advancement" in privacy!

Apple has promised to refuse government demands to expand the surveillance, but their record is not exactly reassuring:

not to mention that the technology itself is fundamentally broken:

inexorably leading to such outcomes as:

As Ars explains:

[T]he system's current design doesn't prevent it from being redesigned and used for other purposes in the future. The new photo-scanning technology itself is a major change for a company that has used privacy as a selling point for years and calls privacy a "fundamental human right."

NebajX pierces to the very heart of the matter:

Do we allow police a daily search of our homes because we have nothing to hide?

It’s now crystal clear why Apple tried to exclude dozens of its own processes from network monitoring last year; to pave the way for total (and leaky and dangerous) control over our digital lives.


Topping it all off, the system as currently sold is simply farcical on the face of it:


/mac | Aug 26, 2021

macOS boots to black screen with black cursor #

(TL;DR: Moved AppleIntelHD4000Graphics.kext out of /System/Library/Extensions/)

After a bit of a tumble, a MacBook Pro (13-inch, Mid 2012) started up to a folder with a flashing question mark. Replaced the internal drive with a new SSD and installed Catalina normally.

On first boot, rather than Setup Assistant, a black screen with a black cursor appeared (though Voice Over instructions could still be heard). Reset SMC and NVRAM to no avail. Repeated clean install with Mojave then Catalina again - same result.

Tried booting into safe mode, which worked (though of course not all features were available). Tried forcing safe mode on every boot (via nvram boot-args="-x" in macOS Recovery), but performance was poor and lack of sound was a show-stopper.

Assuming a problem with the integrated Intel HD Graphics 4000 GPU (unlike the 15" 2012 MacBook Pro, the 13" does not have a discrete GPU), looked for the corresponding kernel extension in /System/Library/Extensions/.

AppleIntelHD4000Graphics.kext sounded promising; booted back into macOS Recovery, disabled SIP, moved the kext into another directory, touched /System/Library/Extensions/ for good measure*, enabled SIP, and rebooted - success! - everything but sleep functioned well.

* According to the kextcache manpage, this is the same as kextcache -i os_volume, which will "rebuild out-of-date caches and update any helper partitions associated with os_volume."



/mac | Aug 23, 2021

Al-Ma'arri on ahimsa #

If ye unto your sons would prove,
By act how dearly them ye love,
Then every voice of wisdom joins,
To bid you leave them in your loins.


Thou art diseased in understanding and religion. Come to me, that thou mayst hear the tidings of sound truth.
Do not unjustly eat what the water has given up [i.e., fish], and do not desire as food the flesh of slaughtered animals,
Or the white (milk) of mothers who intended its pure draught for their young, not for noble ladies.
And do not grieve the unsuspecting birds by taking their eggs; for injustice is the worst of crimes.
And spare the honey which the bees get betimes by their industry from the flowers of fragrant plants;
For they did not store it that it might belong to others, nor did they gather it for bounty and gifts.
I washed my hands of all this; and would that I had perceived my way ere my temples grew hoar!


O fools, awake! The rites ye sacred hold
Are but a cheat contrived by men of old,
Who lusted after wealth and gained their lust
And died in baseness—and their law is dust.

Selections from Maʿarrī's poetry found on pages 139, 134, and 173 respectively in Reynold Alleyne Nicholson's Studies in Islamic Poetry. Cambridge: University Press, 1921.

/misc | Aug 23, 2021

The world #

Here's a tanka for today by "Herbert, a retired chemist":

Consumed with anger,
The world is an ugly place.
Bathed in happiness,
The world is a wonderful place.
But, aha! the same world.

— Found on page 203 of Taitetsu Unno's Shin Buddhism : Bits of Rubble Turn to Gold. New York: Doubleday, 2002.

/misc | Jul 17, 2021

Mechanical meditation timers: gongs, cymbals, bells, and bowls #

/misc | Jun 17, 2021

Who exactly are "they"? #

Alexandra David-Néel in The Secret Oral Teachings in Tibetan Buddhist Sects:

In reality, although the well-read among them deny it, some of those who call themselves Buddhists—Mahayanists of the Northern countries as well as Theravadins of the South—have practically remained attached to the belief in a jiva,4 that is to say in an ego, an entity which transmigrates from life to life, forsaking its material body at the moment of death "as one throws away wornout clothing to put on new clothes".5

4 The equivalent of that which Westerners call the soul. Jīvātman is the principle which gives life to the body, and that which, according to the Hindus, is reincarnated. The Jīvātman is, according to the Vedanta, the Paramātman in its individualised form.
5 Bhagavad Gîta II, 22.

This belief is, however, formally and continually denied by the Doctrine of the Buddha, of which Doctrine the negation of the ego is the fundamental article and marks it off from the orthodox Hindu doctrines.

The Buddhist creed, as a matter of fact, consists of two short, incisive statements:

"All aggregates are impermanent"
"All things are devoid of self (atman: "ego" or "soul")".

This means that if we discard the component elements which form that which we call a man, a horse, a tree, a mountain, a star, or no matter what, if we abstract the qualities which make them perceptible to us, we discover nothing which is distinct from these constituent elements, from these qualities, we do not, in any way, find the man, the horse, the mountain in itself. These names apply only to a collection of elements.


[I]f from a man you take away the physical form, sensation, perception, mental activity and consciousness, what remains? Where will you find the man existing in himself outside the corporality and mentality?

In the Secret Teachings great importance is attached to propounding this negation of the ego as a fundamental doctrine. Those who lag behind in the belief in an ego, it is said, do not understand the meaning of the Teaching, they are in no way Buddhists, they cannot attain to liberation, to salvation, for without understanding (of a transcendent insight) of this absence of any ego, they will not perceive the means by which to go beyond being and non-being. [emphasis added]

Since, according to the author, there is no in-dwelling self/atman/ego/soul, who exactly are "those who lag behind", who "cannot attain to liberation, to salvation", who "will not perceive the means by which to go beyond being and non-being"?* Why, according to her, there are no such beings!—simply impermanent, arbitrary aggregates.

Note too the confusion and conflation of "soul" and "ego" for "atman", which is more accurately described as:

Ātman, sometimes spelled without a diacritic as atman in scholarly literature, means "real self" of the individual, "innermost essence", and soul. Atman, in Hinduism, is considered as eternal, imperishable, beyond time, "not the same as body or mind or consciousness, but... something beyond which permeates all these". In Advaita vedanta, it is "pure, undifferentiated, self-shining consciousness," the witness-consciousness which observes all phenomena yet is not touched by it.

The foregoing conflict results in such mental gymnastics as:

The tulku, on the contrary, is the incarnation of a lasting energy directed by an individual with the object of continuing a given kind of activity after his death. The tulku does not coexist with his ancestor.

and casual attempts to dismiss reincarnation out of hand:

An amusing point to note on this subject is that the person "reincarnated" generally boasts of having been, in his preceding lives, an important personality, or even several such in succession. No one seems to remember having been an obscure cobbler or a humble farm labourer. At least one does not hear of such.

In fact, such ordinary existences are just about all one does hear of in the research:

* Cf. this dialogue on HN.

/misc | Jun 05, 2021

Two GIF processors added to graphics page #

/windows | May 24, 2021

Subscribe or visit the archives.