Top all-time · #2523
Surely I Am Joking
Personal blog · yinwang0.wordpress.comprogrammingphilosophysystems
Surely I Am Joking is a personal blog at yinwang0.wordpress.com about programming, philosophy and systems. 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.
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
- Scheme benchmarking with a meta-circular interpreter2 people · 2 mentions · first linked 2014-01-12
- Back to the future of databases2 people · 2 mentions · first linked 2013-05-29
- Purely Functional Languages and Monads2 people · 2 mentions · first linked 2013-11-20
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