Top all-time · #4630
friday.com
Personal blog · friday.com/bbumprogrammingsystems
friday.com is a personal blog at friday.com about programming and systems. Since 2008, 17 different Hacker News readers have linked it 20 times, most often “Objc_msgSend(), instruction by instruction”. No feed was found, so read it on the site itself.
Too few sampled comments (12) to say how often HN recommends it.?
Why HN links it
HN readers link bbum's long-running weblog for Objective-C runtime internals, especially its multi-part objc_msgSend series. Commenters also cite it for coding and hardware posts.
Summarised by Claude from a sample of 12 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Objc_msgSend(), instruction by instruction7 people · 8 mentions · first linked 2010-11-25
What Hacker News says?
Awesome, I wasn't aware of that one. Other good ones I know of are the already mentioned Cocoa with Love http://cocoawithlove.com/ Cocoa is my girlfriend http://www.cimgf.com/ and bbum's weblog-o-matic http://www.friday.com/bbum/
Comment linking /bbum/
on “Ask HN: What programming blogs do you read daily?”Submitted Objc_msgSend(), instruction by instruction as a story · 45 points
HN discussionPractical example: objc_msgSend (which is called for every message send in an Obj-C program) is written in assembly so it can jump to the target method implementation without disturbing any caller-save/callee-save register state: http://www.friday.com/bbum/2009/12/18/objc_msgsend-part-1-th... (and also presumably because C won't guarantee that a tail call is actually compiled as a jump). Practical example: objc_msgS…
Comment linking /bbum/2009/12/18/objc_msgsend-part-1-the-road-map
on “LLVM Intermediate Representation is better than assembly”Submitted Apple's Leopard Garbage Collector Now Open Source as a story · 28 points
HN discussionHere are a couple of Stack Overflow answers that illustrate how you do it in Objective-C: http://stackoverflow.com/a/2573949 http://stackoverflow.com/a/18689338 If you're interested in the nitty-gritty of how objc_msgSend works, bbum from Apple wrote up a great low-level walkthrough a few years back: http://www.friday.com/bbum/2009/12/18/objc_msgsend-part-1-th...
Comment linking /bbum/2009/12/18/objc_msgsend-part-1-the-road-map/
on “GHC 7.8.1 released”Submitted Using Heapshot (OS X/iOS) to Find Undesirable Memory Growth as a story · 25 points
HN discussionAccording to the link you posted, that's over four times slower than C++ virtual method dispatch (and note that most method calls in ordinary C++ code are not virtual). Also, IMP caching is hardly easy and is quite fiddly: see for example the benchmark code in that link as well as [1]. I highly recommend reading the tour of objc_msgSend [2]. It's very eye opening: for example, there's a cache scanning loop even in t…
Comment linking /bbum/2009/12/18/objc_msgsend-part-1-the-road-map/
on “Sony's next-gen application platform built on Objective C/GNUStep”Submitted On Death and Taxes; Some Digital Tools to Make End-Of-Life Easier as a story · 2 points
HN discussionYes, but if you message the subclass with the alias, only the superclass's method gets invoked, because the alias apparently contains the IMP of the superclass's method. Or it must, if what you said before is to be believed. This is pretty nasty, because it breaks the idea of message sends and subclass overrides of methods. There's two ways you could solve it: 1. Set the IMP to a static function that looks up the me…
Comment linking /bbum/2011/03/17/ios-4-3-imp_implementationwithblock/
on “Worst Bug Ever”Submitted Objc_msgSend() Tour as a story · 2 points
HN discussionAnother good discussion of objc_msgSend() is: http://www.friday.com/bbum/2009/12/18/objc_msgsend-part-1-th...
Comment linking /bbum/2009/12/18/objc_msgsend-part-1-the-road-map/
on “Why is the mobile web slow?”Submitted RetainCount is useless. as a story · 1 points
HN discussionTry these if you'd like an actual explanation of how Obj-C messaging works. http://www.mikeash.com/pyblog/friday-qa-2012-11-16-lets-buil... http://www.friday.com/bbum/2009/12/18/objc_msgsend-part-1-th...
Comment linking /bbum/2009/12/18/objc_msgsend-part-1-the-road-map/
on “How Objective-C messaging works”Submitted Objective-C 2.0 Class Extensions Explained as a story · 1 points
HN discussionIn the normal case it's still very fast http://www.friday.com/bbum/2009/12/18/objc_msgsend-tour-part...
Comment linking /bbum/2009/12/18/objc_msgsend-tour-part-3-the-fast-path/
on “First Glance at Objective-C and the iPhone SDK (by a Java and C Developer)”Maybe not "daily", but very frequently: here is a small selection of some of the small sites on my newsblur newsfeed list: [0] http://www.jamesaltucher.com : Much self-pity, but also sometimes quite funny. http://www.astrobio.net/latestnews_rss/news.xml : Is there life on other planets? http://kaygun.tumblr.com/ http://www.friday.com/bbum : Coding, hardware projects, generally interesting. http://bestyoucanbe.blogsp…
Comment linking /bbum
on “Ask HN: What are the small to medium size blogs you go to daily?”On the Mac, you can use pyobjc to write Cocoa apps. Included with Leopard. http://www.friday.com/bbum/2007/10/27/pyobjc-20-pyobjc-in-le...
Comment linking /bbum/2007/10/27/pyobjc-20-pyobjc-in-leopard/
on “Ask YC: Python Desktop Frameworks”This is a good companion http://www.friday.com/bbum/2009/12/18/objc_msgsend-part-1-th... But keep in mind that both articles deserve to be updated.
Comment linking /bbum/2009/12/18/objc_msgsend-part-1-the-road-map/
on “Objective-C Runtime: An Introduction”And even more detailed http://www.friday.com/bbum/2009/12/18/objc_msgsend-part-1-th...
Comment linking /bbum/2009/12/18/objc_msgsend-part-1-the-road-map/
on “Objective-C Messaging”