Top all-time · #2318
Yin Wang
Personal blog · yinwang0.wordpress.comprogramming
Yin Wang writes Surely I Am Joking, a personal blog at yinwang0.wordpress.com about programming. Since 2012, 33 different Hacker News readers have linked it 39 times, most often “Ydiff: Structural Comparison of Programs”. The last post was in 2022, but the archive is still widely read.
Too few sampled comments (8) to say how often HN recommends it.?
Why HN links it
HN readers link Yin Wang's blog for its programming tooling and analysis posts, such as the PySonar Python analyzer, ydiff structural diffs, the Grok code search work, and Scheme benchmarking.
Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Ydiff: Structural Comparison of Programs5 people · 5 mentions · first linked 2012-05-30
- PySonar: an Advanced Static Analyzer for Python3 people · 3 mentions · first linked 2012-08-12
- Purely Functional Languages and Monads2 people · 2 mentions · first linked 2013-11-20
- Back to the future of databases2 people · 2 mentions · first linked 2013-05-29
- Scheme benchmarking with a meta-circular interpreter2 people · 2 mentions · first linked 2014-01-12
What Hacker News says?
It seems that the author has deleted the original article and posted a reply to critical comments from Haskell school: https://yinwang0.wordpress.com/2013/11/09/oop-fp/ And some content of the original article was posted to: https://yinwang0.wordpress.com/2013/11/16/pure-fp-and-monads...
Comment linking /2013/11/16/pure-fp-and-monads/
on “What's wrong with Object-Oriented Programming and Functional Programming”Submitted What's wrong with Object-Oriented Programming and Functional Programming as a story · 227 points
HN discussionThanks for sharing. The first article is really interesting. The author worked 3 months as an intern at Google, and his much under-appreciated works saved Steve Yegge's Grok team that has been struggling for years. EDIT: Found another gem from the same author: http://yinwang0.wordpress.com/2012/04/09/reinvent-y/ > Today I found that I forgot how to derive the defintion of the Y combinator. I learned it several years…
Comment linking /2012/04/09/reinvent-y/
on “Steve Yegge and Grok”Submitted Ydiff: Structural Comparison of Programs as a story · 176 points
HN discussionhmm interesting, just read another article on Grok yesterday posted by a previous intern of that team. (sadly it's in Chinese, but it covered the detail of Python Indexer's implementation) http://blog.sina.com.cn/s/blog_5d90e82f010191rh.html EDIT: Another article on the analyzer by this author, in English. http://yinwang0.wordpress.com/2010/09/12/pysonar/
Comment linking /2010/09/12/pysonar/
on “Steve Yegge and Grok”Submitted On Swift’s array semantics as a story · 89 points
HN discussion> The way you've asked this it will lead people to think you're asking for very powerful static checking That's exactly what I'm asking for :-). It should be possible to create restricted types that are checked at runtime. For example, the fabs function would return a float which is guaranteed to be >= 0. The sqrt function would require the argument to be positive. float x; ... // arbitrary code sqrt(x); // warning,…
Comment linking /2010/09/12/pysonar/
on “Try Idris”Submitted Scheme benchmarking with a meta-circular interpreter as a story · 25 points
HN discussionToo late, someone already did that and measured the overhead of up to five interpretations layers: "Scheme benchmarking with a meta-circular" interpreter http://yinwang0.wordpress.com/2013/11/04/scheme-benchmarking... Archive: http://web.archive.org/web/20140105145428/https://yinwang0.w... HN discussion: https://news.ycombinator.com/item?id=7045734 (25 points, 443 days ago, 9 comments) (The main critic is that it sh…
Comment linking /2013/11/04/scheme-benchmarking/
on “Implement a programming language from scratch”Submitted Why self-driving cars are not going to happen as a story · 16 points
HN discussionHey, glad you are working on this. I have later given a talk on structural version control together with demos of structural editing and ydiff. Here are the slides: http://yinwang0.wordpress.com/2012/02/12/structural-version-... I think structural version control can open lots of possibilities that are not accessible by text-base version control systems. I'm not really focused on this area, but I'd be happen to to s…
Comment linking /2012/02/12/structural-version-control
on “Ask HN: What are you Building?”Submitted PySonar: an Advanced Static Analyzer for Python as a story · 13 points
HN discussionI'm working on what I call "semantic version control". Namely, instead of diffing and merging text, the goal is to parse the program and diff/merge the AST. EDIT: A better way to state the goal: I want to take advantage of the underlying structure of a computer program to inform the diff/merge. The first step just happens to be diffing ASTs, but I go beyond this. I already have some neat features--for example, I can…
Comment linking /2012/01/03/ydiff/
on “Ask HN: What are you Building?”Submitted Back to the future of databases as a story · 9 points
HN discussionAnother structural-editing tool is ydiff ( http://yinwang0.wordpress.com/2012/01/03/ydiff/ ), which can display structural diffs between JavaScript files. Demo: http://www.yinwang.org/resources/nav1-nav2.html
Comment linking /2012/01/03/ydiff/
on “Grasp: Structural Search and Replace for JavaScript”Submitted Google, a harmonious society as a story · 5 points
HN discussionSubmitted Why self-driving cars are doomed as a story · 4 points
HN discussionSubmitted Back to the Future of Databases as a story · 4 points
HN discussionSubmitted There is no human-level computer vision as a story · 3 points
HN discussionSubmitted Some observations about Tesla’s Autopilot as a story · 3 points
HN discussionSubmitted Diffing code by program structure (not by text) as a story · 3 points
HN discussionSubmitted Sum Types and Union Types as a story · 2 points
HN discussionSubmitted Indentation-based syntax considered troublesome (2011) as a story · 2 points
HN discussionSubmitted Why is indexing faster than binary search? as a story · 2 points
HN discussionSubmitted RubySonar: a static analyzer for Ruby as a story · 2 points
HN discussionSubmitted Tests and static analysis as a story · 2 points
HN discussionSubmitted PyDiff: a structural comparison tool for Python as a story · 2 points
HN discussionSubmitted My New Book: Ground-Up Computer Science as a story · 1 points
HN discussionSubmitted PySonar: a type inferencer and indexer for Python as a story · 1 points
HN discussionSubmitted Back to the future of databases as a story · 1 points
HN discussion