HNHacker News
TopNewBestAskShowJobs

mci

1,307 karma · joined July 2, 2015

submissionscomments
mci··on Chess tactics explained
> This site teaches chess in words.

> It assumes you know only how the pieces move and builds step-by-step from there.

Do not get me wrong: TFA is a fine and useful book for an intermediate player but the above claims are overselling it. They are equivalent to telling you that learning the

    x ^= y;
    y ^= x;
    x ^= y;
trick will make you a better programmer while being silent on what copy-and-paste programming, magic constants, or hardcoded data are and how to avoid them. While novice chess players are naturally attracted to brilliant combinations, they will have no chance to play them without knowing how to gain positional advantage.

> Strategy and tactics both are important, but tactics are more important.

> If you're a whiz at strategy but not much good at tactics, you will have trouble winning or having fun because your pieces will keep getting taken.

I beg to differ. You should first learn how to supercharge your pieces by controlling the centre, putting rooks on open files, co-ordinating your bishop pair, keeping a strong pawn structure, etc. Two oldie but goodie books that teach these principles and are available as PDF's are Capablanca's A Primer of Chess [0] and Nimzowitsch's My System [1].

EDIT: memorizing openings ⊄ strategy. I understand strategy as applying good principles regardless of your opponent's moves, and tactics as calculating (mostly) forced move sequences. Also, strategy does not have to be dull. Playing a gambit and attacking Black's f7 weakness is a strategy, albeit one that can hardly succeed without tactical thinking.

[0] https://archive.org/details/aprimerofchess (this particular edition uses the outdated descriptive notation)

[1] https://archive.org/details/my-system-2020

mci··on Preserving endangered languages with Noto fonts
> What population size and density do you need to keep a language alive?

IMHO, the answer depends more on the lifestyle than on the number of speakers. As long as everyone lives in a homogenous community along with their grandparents and parents, the new generations learn the language. When people move to larger towns where the majority speaks a dominant language, their children at best speak the minority language at home while the grandchildren rarely acquire it at all, and its death is imminent. Anecdotal evidence follows.

* Manx. In 1874: 16,200 speakers (30% of the population of the Isle of Man); in 1974: last native speaker dies. [0]

* Belarusian. In 1999: 36.7% of Belarusian citizens spoke it at home; in 2009: 11.9%. [1] Remarkably, it is better preserved among the Belarusian minority in Poland which is concentrated in a few rural communes.

* Lower Sorbian in Germany. In the 1880s: 70 thousand; in the 1990s: 7 thousand; around 2010: 2 thousand. Folk dances, costumes, and customs will outlast it like an empty shell outlasts its resident.

[0] https://en.wikipedia.org/wiki/Manx_language#Number_of_speake...

[1] https://en.wikipedia.org/wiki/Belarusian_language

mci··on Popular Pirate Sites ‘Disappear’ from DuckDuckGo’s Top Search Results
Meh. Three words every pirate should know: yandex dot ru.
mci··on Forearm artery reveals human evolution continues?
Here is a polished version of my argument: https://marcinciura.wordpress.com/2020/10/11/bad-medicine-th...
mci··on Forearm artery reveals human evolution continues?
> My question is, does their methodology tell apart the following effects: [...]

First and foremost, their curve fitting, disguised as race-agnostic methodology, ignores the number of studies of the median artery in Africa 100 years ago (zero) and now (many).

mci··on Forearm artery reveals human evolution continues?
I once tried to write an algorithm cookbook where the network flow problem would be illustrated by a simplified human circulatory system, and its edge capacities — by the diameters of the major blood vessels (this is how I knew to look for Adachi in this paper).

Besides the diameters being different in autopsies and ultrasounds, it turned out that while the mean diameters of the arteries are generally known, as they are used for diagnosing aneurysms, no source I found cared to publish the mean diameter of, say, the left and right gastroepiploic veins.

Also, even if 90% of people have the prevalent topology of some branching of blood vessels and only 10% have other variants, there are so many branchings that hardly anyone has a "textbook" circulatory system (that is, if the branchings are independent; I have seen no study of their correlations).

mci··on Forearm artery reveals human evolution continues?
I have procured a PDF of the paper. Ctrl+F race finds nothing in it. The authors treat e.g. these results equivalently:

* Adachi, B. (1928) Das Arteriensystem der Japaner. Kyoto, Japan (8.00%)

* Kodama, K. (2000) Arteries of the upper limb. Tokyo, Japan (8.2%)

* Henneberg, M. and George, B.J. (1992a) High incidence of the median artery of the forearm in a sample of recent South African cadavers (27.10%)

* Cheruiyot, I. et al. (2017) Prevalence and anatomical patterns of the median artery among adult black Kenyans (59.68%)

To me, a more plausible explanation is: "as time passes, anatomical studies cover more diverse humans".

mci··on Falling in love again with the haunting sounds of interwar Polish tango
> what kind of distilled beverage do grandma and grandpa drink when they tango?

A little glass of home-made berry tincture ("good for your heart"). They got the berries from a neighbour who grows them on her allotment ("not sprayed with chemicals").

mci··on MMIXware: A RISC Computer for the Third Millennium (1999)
While this is an interesting book in its genre, I prefer to read actual MMIX code in The MMIX Supplement by Martin Ruckert[0]. The relation between the two books resembles that between, say, Manual of Surgery and Frankenstein, or Teach Yourself Romanian and Dracula.

[0] https://www.amazon.com/MMIX-Supplement-Computer-Programming-...

mci··on LEd: Open-Source 2D Level Editor
The space of [A-Z]Ed names for editors is pretty crowded. LEd is also an old but good LaTeX editor for Windows[0].

[0] https://en.wikipedia.org/wiki/LEd

mci··on The sad state of PDF-Accessibility of LaTex Documents (2016)
1. Needs (2016) in the title.

2. Even by 2016, pdfTeX had been largely superseded by LuaTeX.

3. The author bizzarely links to "the mess" of the literate source of TeX the program as a WEB file rather than as a typeset document.

4. AIUI, the source code of the TeX engine has nothing/very little to do with adding tags to PDFs, which it is the job for LaTeX packages. Admittedly, understanding and writing their source code is a rarer skill than reading the literate source of TeX.

mci··on Ask HN: Natural language processing to identify grammar in a text?
My IOCCC entry [0] detects English passive constructions. Do not feel discouraged by its looks; it is a solid tool. Since both ioccc.org and its official mirrors (in the same domain) are down now, you can look at its Wayback Machine cache [1].

[0] https://www.ioccc.org/2018/ciura/ [1] https://web.archive.org/web/20200224040340/https://www.ioccc...

mci··on Converting Boolean-Logic Decision Trees to Finite State Machines
While I have only skimmed the article, I have not noticed:

* an explanation how to test the multiple heterogenous out-transitions of a state efficiently,

* the reason for the silent assumption that at most one out-transition of a state is followed, i.e. that this is not an NFA [0],

* most importantly, a comparison with Binary Decision Diagrams [1].

[0] https://en.wikipedia.org/wiki/Nondeterministic_finite_automa...

[1] https://en.wikipedia.org/wiki/Binary_decision_diagram

mci··on Ask HN: Recommend a maths book for a teenager?
The Cauchy–Schwarz Master Class: An Introduction to the Art of Mathematical Inequalities is a graded problem book that will teach them the principles and practice of mathematical proofs like no other book. Here is its MAA review: [0]. A pirate PDF is a Google search away. Take a look and see if you like it.

[0] https://www.maa.org/press/maa-reviews/the-cauchy-schwarz-mas...

mci··on Deep Learning – The “Why” Question (2018)
> Now I do believe that purely statistical methods will hit a wall - the same way you could never teach a baby to communicate by throwing it a copy of Wikipedia and nothing else.

Nick Chater and Paul Vitányi wrote papers[0] demonstrating that "the learner has sufficient data to learn successfully from positive evidence, if it favors the simplest encoding of the linguistic input":

- ‘Ideal learning’ of natural language: Positive results about learning from positive evidence,

- The probabilistic analysis of language acquisition: Theoretical, computational, and experimental analysis,

- Language Learning From Positive Evidence, Reconsidered: A Simplicity-Based Approach.

[0] https://homepages.cwi.nl/~paulv/learning.html

mci··on Eastern European Movies
If movies were software, The Saragossa Manuscript would be a Go application and The Pharaoh — a Java application. I would add to them a JavaScript move: Innocent Sorcerers (1960; https://easterneuropeanmovies.com/melodrama/innocent-sorcere...), a paragon of intimate New Wave cinema demonstrating how to build erotic tension without any sex scenes.
mci··on C implementation of Tic-Tac-Toe in a single call to printf
I am afraid that the author has disqualified himself by publishing the source code before the judging of IOCCC 2020 is over. See catch 22 in the rules: "The judges STRONGLY prefer to not know who is submitting entries to the IOCCC."[1] Even the winners are asked not to publish the code until it is available on the IOCCC web site.[2]

[1] https://ioccc.org/2020/rules.txt [2] Personal communication

mci··on The most surprising Unix programs
You are confusing the approximate counting of distinct elements (done by ingenious algorithms like hyperloglog or Flajolet–Martin) with the approximate counting of each element from a manageable set (done by incrementing the counters less and less often as they grow).
mci··on The most surprising Unix programs
> Hidden inside WWB (writer's workbench), Lorinda Cherry's Parts annotated English text with parts of speech, based on only a smidgen of English vocabulary, orthography, and grammar.

Writer's Workbench was indeed a marvel of 1970's limited-space engineering. You can see it for yourself [1]: the generic part-of-speech rules are in end.l, the exceptions in edict.c and ydict.c, and the part-of-speech disambiguator in pscan.c. Such compact, rule-based NLP has fallen out of favor these days but (shameless plug alert!) Writer's Workbench inspired my 2018 IOCCC entry that highlights passive constructions in English texts [2].

[1] https://github.com/dspinellis/unix-history-repo/tree/BSD-4_1...

[2] https://ioccc.org/2018/ciura/hint.html

mci··on Draft of the Fast.ai Book
I agree with what you wrote. I did not object to subword tokenization that let you(?) win the competition. I objected to GP's assertion that one can add many morphemes together to create very long "words" in Polish, which made casual readers think of stringing morphemes like German compounds while the number of morphemes in Polish words is bounded by 7, maybe by 8.
mci··on Draft of the Fast.ai Book
The term you are looking for may be "highly inflected".

Side note: IMHO, you are exaggerating the ability of Polish to form long compounds. Dissecting the "Bezbarwne zielone idee wściekle śpią" example from https://arxiv.org/pdf/1810.10222.pdf#page=3 reveals no words longer than 4 morphemes:

bez-BARW-n-e ZIEL-on-e IDE-e WŚCIEK-l-e ŚP-ią, where I put word roots in uppercase and bound morphemes in lowercase.

The longest sequences of morphemes (for a loose definition of morpheme) I can think of are conditional mood of verbs with double prefixes like po-wy-CHODZI-ł-y-by-ście. However, the sequences of bound morphemes in those forms, which may look complex to you, form a finite-state language that admits just a few sequences.

mci··on Draft of the Fast.ai Book
> There are also "agglutinative languages", like Polish, which can add many morphemes together to create very long "words" which include a lot of separate pieces of information. [1]

Polish does not work this way. Source: I am Polish. Perhaps jph00 meant Turkish. Issue filed.

[1] https://github.com/fastai/fastbook/blob/master/10_nlp.ipynb

mci··on One Hundred Ideas for Computing
36. Documentation Linked Code sounds like literate programming [1], which interleaves the source code with prose explanations. This idealized description is due to Peter J. Denning [2]:

> A literate program contains not only the needed statements in a programming language, but also a precise problem statement, a summary of the background needed to understand the solution, an evaluation of alternatives, assessments of trade-offs between the running time and space, or between running time and programming time, and suggestions on how to modify the program. Program code segments are inserted in the text at points logical to the intellectual development of the algorithm. A literate program pays careful attention to lucidity of presentation and presents all arguments needed to understand why the program will actually run as intended.

[1] https://en.wikipedia.org/wiki/Literate_programming [2] https://www.cs.upc.edu/~eipec/pdf/p583-van_wyk.pdf

mci··on History of 1918 Flu Pandemic
A while ago, I did a piece of armchair research on Spanish flu in Austria-Hungary [1]. TL;DR: the dates it occurred throughout the empire differ insignificantly. The linked blog post shows also a table with the week of highest mortality in North America, Great Britain, continental Europe, and India, copied from an old book.

[1] https://marcinciura.wordpress.com/2016/01/28/tracking-spanis...

mci··on The Mechanical Muse
Here are the programs that took part in a 2011 Polish contest of automatic poetry: http://turniej.wolnelektury.pl/poezja/

Centonista won the contest; Triphthong has been broken since the upgrade of Ruby to 2.0.

mci··on Soundex – a phonetic algorithm for indexing names by sound
It is important to distinguish two use cases of phonetic algorithms:

- Recovering English spelling from English pronunciation. Soundex and Metaphone are good at this.

- Undoing the torments of Eastern-European sibilants in various transliterations of surnames, e.g. Tchaikovsky, Tschaikowski, Tchaïkovski, Ciajkovskij, Tsjaikovski, Tjajkovskij, Tsjajkovskij, Csajkovszkij, and Czajkowski. Here, Double Metaphone or Daitch–Mokotoff Soundex do a better job.

[1] https://en.wikipedia.org/wiki/Metaphone [2] https://en.wikipedia.org/wiki/Daitch%E2%80%93Mokotoff_Sounde...

mci··on Getting started with regular expressions: An example
SNOBOL4 pattern matching may fit your bill, although it is more powerful than regexps [1]. You can play with SNOBOL4 on x86 [2].

[1] http://www.snobol4.org/docs/burks/tutorial/ch4.htm [2] https://github.com/spitbol/x64

mci··on Stańczyk
More importantly, she came up with a land reform that quadrupled the annual state revenue [1].

[1] https://en.wikipedia.org/wiki/Volok_Reform

mci··on Kriegspiel
A Programming and Problem-Solving Seminar led by Chris Van Wyk and Donald Knuth in 1979 was, among others, dedicated to programs playing the KRK endgame in Kriegspiel [1].

In my previous life as a teaching assistant, I co-led a seminar that borrowed this problem from Knuth. At the end, our students' White and Black bots played a tournament. The feedback was: "since Black loses this endgame sooner or later, those who developed bots playing White had more fun". Next year, we came up with a symmetric game.

[1] http://infolab.stanford.edu/pub/cstr/reports/cs/tr/79/707/CS...

mci··on The Mathematics of Text Structure
We need someone like https://twitter.com/justsaysinmice, tagging NLP papers with "in English".

The DisCoCat examples look like another riff on categorial grammar [1], which is not too adequate for languages with the concept of noun case.

[1] https://en.wikipedia.org/wiki/Categorial_grammar

← PreviousPage 2 of 4Next →